c++编译器对const常量的处理
1.当碰见常量声明时在符号表中放入常量。
2.编译过程中若发现使用常量则直接以符号表中的值替换。
3.编译过程中若发现对const使用了extern或者&操作符,则给对应的常量分配存储空间。
注意:
c++编译器虽然可能为const常量分配空间,但不会使用存储空间中的值。
代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
const int c = 0;
int* p = (int*)&c;
printf("Begin...\n");
*p = 5;
printf("c = %d\n", c);
printf("End...\n");
printf("Press enter to continue ...");
getchar();
return 0;
}
原文:http://www.cnblogs.com/seannnn-k/p/6389163.html