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
本文探讨了C和C++在全局变量检测、函数检测、类型转换、struct使用、bool类型、三目运算符、const常量以及链接属性等方面的差异。C++增强了对这些特性的支持,如提供更严格的类型检查、bool类型、const的真正常量性以及函数返回值和参数的检测。同时,C++中的struct不需要显式关键字,const默认为内部链接。
2447

被折叠的 条评论
为什么被折叠?



