0x01 两者联系
C 可以说是 C++ 的一个子集,C++ 是 C 的一个增强。
0x02 具体区别
- C++ 为强类型语言
- 在 c 中允许隐式转换,c++ 要求必须使用显示转换
- C++ 为面向对象语言 (封装,继承,多态)
- 拥有了泛型编程的机制(Template)
- 增加异常处理。
- 增加了运算符与函数的重载
- 增加了标准模板库(STL)
- 增加了引用概念,使得引用函数参数带来子很大方便
- 变量的声明更灵活。
- C语言要求在函数体开头声明变量,再是执行语句,两者不可交叉使用。
- C++允许变量在使用时进行声明
- const 变量和 inline 关键字的使用比macro更好