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.

posted @ 2012-06-16 07:11  reherin  阅读(139)  评论(0)    收藏  举报