1、全局变量检测增强
int a;
int a = 10;
C通过。
C++失败(重定义)。
2、函数检测增强,参数类型增强,返回值检测增强,函数调用参数检测增强
3、类型转换检测增强
4、struct优化
C++使用时可以不加struct关键字
5、bool类型增强
C语言没有bool。
C++有bool,只有true或false
6、三目运算符增强
a > b ? a : b = 100;
C不行,C返回的是值。
C++返回的是变量,可以作为左值。
7、const增强
C语言const是伪常量,编译器会分配内存,可通过指针修改。
C++中const不会分配内存,符号表以键值对存储常量。
8、C语言中的const默认是外部链接,调用时使用extern const int a;
C++中const默认是内部链接,声明时如果像被外部调用到,要加extern