1.全局变量的检测增强,c++检测除重定义
2.函数检测的增强, 检测出返回值类型检测, 形参数类型检测, 函数调用参数个数.
3.类型转换检测增强: char *p = (char *)malloc(64);, c++必须左右类型一致
4.struct的增强, c++的结构体可以有函数.c++创建结构体可以简化关键字struct.
5.bool类形的扩展,c没有bool类型, c++有
6.三目运算符的增强.
c:
int a = 10;
int b = 20;
prinf("%d\n", a > b ? a : b); //b
a > b ? a : b = 100;//报错,返回的是值
c++:
int a = 10;
int b = 20;
(a `> b ? a : b) = 100; //返回的是变量
cout << "a = " << a << ", b = " << b << endl; //a = 10, b = 100
7.对const的增强
c语言中对const 的全局变量直接修改和间接修改都会失败.对局部直接修改失败, 但间接修改成功.
c++对const 修饰的全局变量和局部变量的直接修改还是间接修改都会失败.
8.c语言下,const 修饰的全局变量默认的是外部连接属性, 而c++的const修饰的全局变量默认的是内部连接属性, 可以用extern来提高作用域 .