前言
首先对于从C++的认知学起
一、C++是什么?
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
二、C和C++的区别
1. C是面向过程的语言,而C++是面向对象的语言
2. C和C++动态管理内存的方法不一样,C是使用malloc/free函数,而C++除此之外还有new/delete关键字
3. C中的struct和C++的类,C++的类是C所没有的,但是C中的struct是可以在C++中正常使用的,并且C++对struct进行了进一步的扩展,使struct在C++中可以和class一样当做类使用,而唯一和class不同的地方在于struct的成员默认访问修饰符是public,而class默认的是private;
4. C++支持函数重载,而C不支持函数重载,而C++支持重载的依仗就在于C++的名字修饰与C不同,例如在C++中函数int fun(int ,int)经过名字修饰之后变为 _fun_int_int ,而C是 _fun,一般是这样的,所以C++才会支持不同的参数调用不同的函数;
5. C++中有引用,而C没有;
6. C++全部变量的默认链接属性是外链接,而C是内连接;
7. C 中用const修饰的变量不可以用在定义数组时的大小,但是C++用const修饰的变量可以
8. C语言和C++的最大区别在于它们解决问题的思想方法不一样。C语言主要用于嵌入式领域,驱动开发等与硬件直接打交道的领域, C++可以用于应用层开发,用户界面开发等于操作系统打交道的领域。
总结
本文理解了c++和c语言的一些认知,重点是c++面向对象,c面向过程。