在c++中,由const修饰的常量,理论上,在程序的整个运行期间,其值是保持不变的,也不能修改其值,但可以通过非常规方法修改它的存储单元中的值,这样就造成同一地址单元出现了多个值的情况。
如下是常规方法修改常量
如下是非常规修改方法
总结:
1、由const修饰的常量是有存储空间的
2、其存储空间的值不能直接修改,而是通过其地址和指针间接引用
3、直接常量和地址和指针间接引用表现出不一样的值,原因是一个静态绑定,也就是说,在编译是就确定了值;而地址和指针间接引用方法,是动态引用,在执行时访问。
通过对比静态、动态引用方法,静态方法根本就不知道其后发生一切变化,所以表面上的同一存储用不方法时,就表现出不一样的值。