C++中const加强
demo
// C语言中的const是一个冒牌货
int main()
{
// 好像a是一个常量
const int a = 10;
int *p = NULL;
p = (int *)&a;
*p = 20; // 间接赋值
printf("a:%d\n", a);
// C语言中显示a被修改了
// C++则显示a还是10,没有改变
return 0;
}C++中的const是一个真正的常量
解释:
C++编译器对const常量的处理。
当碰见常量声明时,在符号表中放入常量。
编译过程中若发现使用常量则直接以符号表中的值替换。
编译过程中若发现对const使用了extern或者&操作符,则给对应的常量分配存储空间(兼容C)。

浙公网安备 33010602011771号