c++常量
常量,从字面上理解,它是一个恒定不变的值, 在内存中不可修改。常量数据在程序运行前就已经存在,它们被编译到可执行文件中。当程序启动后,当程序启动后,它们便会被加载进来。
常量的定义:在C++中,可以使用宏机制#define来定义常量,也可以使用const针变量定义为假常量。
const int iconst = 2012;
int *pi = (int*)&iconst;
*pi = 201206;
int inew = iconst;
printf("%d, %d, %d",*pi, iconst, inew);
执行后*pi = 201206, iconst = 201206, inew = 2012.
这里inew 并被没有被赋值成iconst的新值,因为编译器在编译过程程中发现iconst的值是可知的,之后所有用到iconst的地方都用已知值代替。
可见, 指针的功能非常强大,不要通过指针去修改一些全局数据的值,而且使用的时候尽量使用数据名而不是通过指针来使用。
1 const int iconst = 2012; 2 int *pi = (int*)&iconst; 3 *pi = 201206; 4 int inew = *pi; 5 printf("%d, %d, %d",*pi, iconst, inew);
结果就变成这样:*pi = 201206, iconst = 201206, inew = 201206.
浙公网安备 33010602011771号