1. C++是面向对象的
(1)C++与C最大的不同就是面向对象,C语言是面向过程的。
什么是面向对象?面向对象对应C++的重要性就相当于指针对应C语言的重要性
(2)C++并不是纯面向对象语言
C++与java比其面向对象的纯度就要弱很多,因为C++要保留与C有一定的关联度,C++是由C进化的一个早期物种,进化的不是很彻底,java这种语言就进化的很彻底,任何东西用对象来表示。
2. C++兼容C语言的全部特性
(1)C++有指针,所以很方便直接操作硬件,
(2)C++是编译性语言,最终得到可执行程序是架构相关的二进制机器码
(3)C++在语法和编程风格上和C非常类似
(4)C++代码也分头文件和代码文件,只是后缀名和C有不同
(5)C++比C扩展了很多特性,譬如泛型、引用等。
3. C++比C更适合复杂项目
(1)linux kernel 如果改用C++写会更容易写,也更容易看懂
(2)C++的语法很复杂,学习难度比C和java都要大,复杂不是它的原因,而是它要处理的业务比较难。
(3)C++没有GC机制,对象创建和销毁要程序员管理,因此容易出错。
(4)总结:C++适合高手使用在强调性能的复杂项目中