-
-
[分享]C++基础一-从C到C++
-
2021-8-19 18:12
5727
-
什么是C++
C++是在C语言的基础上开发的,是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
C语言的特点
1、作为一种面向过程的结构化语言,易于调试和维护。
2、表现能力和处理能力极强,可以直接访问内存的物理地址。
3、实现了对硬件的编程操作,也适合于应用软件的开发。
4、具有效率高,可移植性强等特点。
5、通过数据结构+算法面向过程的程序设计,目的是高效。
C++的特点
1、在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言。
2、可以使用抽象数据类型进行基于对象的编程。
3、可以使用继承、多态进行面向对象的编程。
4、可以担负起以模版为特征的泛型化编程。
5、由现实世界建立软件模型,面向对象的程序设计。
C++和C比较
引入命名空间
一个中大型软件往往由多名程序员共同开发,会使用到大量变量和函数,不可避免的会出现变量或函数命名冲突的问题。为了解决合作开发时的命名冲突问题,C++引入了命名空间(namespace)的概念。
实用性加强
C语言中的变量都必须在作用域开始的位置定义;C++中更加强调语言的实用性,所有的变量都可以在需要使用时再定义。
变量监测加强
在C语言中重复定义多个全局变量是合法的,这些同名的全局变量最终都会被链接到全局数据区的同一个地址空间上;在C++中不允许定义多个同名的全局变量。
struct类型加强
C语言的struct定义了一组变量的集合,C编译器并不认为这是一种新的类型;C++中的struct是一个新类型的定义声明。
新增bool类型关键字
C++在C语言的基本类型系统之上增加了bool,bool可取的值只有true和false,true代表真值,编译器内部用1来表示,false代表非真值,编译器内部用0来表示。
三目运算符加强
C语言中的三目运算符返回的是变量值,不能作为左值使用;C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方。注意:三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用。
函数重载
在C++中,允许有相同的函数名,不过它们的参数类型不能完全相同,这样这些函数就可以相互区别开来,而这在C语言中是不允许的。
实际领域的应用
- C语言的主要应用领域:系统底层,驱动,嵌入式开发。
- C++的主要应用领域:游戏开发,大规模、高性能、分布式要求的程序开发。
github:https://github.com/0I00II000I00I0I0
bilibili:https://space.bilibili.com/284022506
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法