C++ 学习笔记(二) const的加强
程序员文章站
2022-06-30 20:08:59
const 含义为只读。如果在程序中显式改变const变量那么编译会报错。 C语言的const: 在C语言中const 变量是放在内存中,如果使用指针可以简介改变const变量。所以在C语言中const变量是并非不可修改,演示如下: 从图片实例中看出,通过指针指向const变量是可以修改所在内存的值 ......
const 含义为只读。如果在程序中显式改变const变量那么编译会报错。
c语言的const:
在c语言中const 变量是放在内存中,如果使用指针可以简介改变const变量。所以在c语言中const变量是并非不可修改,演示如下:
从图片实例中看出,通过指针指向const变量是可以修改所在内存的值。
c++中的const:
在c++中const变量不存放在内存中,而是存放在一个叫做“符号表”的东西里面(由编译器处理,里面的原理我也还没搞清楚,能用就好)。
比如:
const int a=10;//定义一个const 变量
那么在符号表里 符号a 就对应了数值 10。使用指针并不能改变a的值,实例:
在例程中可以看出const修饰的a变量是不能被指针修改的,但是指针所指向的内存也确实被修改了。
上一篇: 陈友谅为什么要杀手下第一大将赵普胜?