C/C++ const用法注意
来源:互联网 发布:最美的诗词 知乎 编辑:程序博客网 时间:2024/05/01 06:49
int main(){ const int a = 2; int* p = (int*)&a; *p = 3; printf("a=%d *p=%d\n", a, *p); return 0;}
gcc/cl 以c编译:输出 a=3 *p=3
g++/cl 以c++编译:输出 a=2 *p=3
你在定义的时候i已经是常量且赋值了,在编译过程中 i的值相当于被替换成1,所以在程序执行过程中 i始终为1;
而你在int *p=(int *)&i; *p=100;改变了p指向i这块内存空间的值,但是编译器是不会去读取这块内存中的值的;
如果在C++的源码中将a声明为const volatile int a= 1;其输出就和c的一样了
- C/C++ const用法注意
- C++const注意点以及用法
- const用法(C/C++)
- const 注意点(C)
- c++:const用法
- C++const用法浅析
- const用法详解 (C++)
- c/c++ const 用法
- C中const用法
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- c++->const用法总结
- C++:const用法
- 海南三亚 十日十夜
- C++输入输出流
- struts poc
- iOS内存管理
- Git系统学习(一)
- C/C++ const用法注意
- unity3D中 lightmap 与 动态光照的实时切换
- PID控制原理
- easyboot的一个严重不足
- B. Increase and Decrease
- 多种方式实现字符串/无符号数反向输出_栈_递归_头尾指针
- 国内从事CV相关的企业
- perl移植须知
- Linux获取系统时间 函数