const 说明
1 /* const 说明 */
2
3 void main()
4 {
5 int data = 100;
6 const int num = 100;//c++保证常量绝对不被修改
7 std::cout << &num << std::endl;// 直接引用常量100
8 int *p = const_cast<int *>(&num);// 强制去掉const属性
9 *p = 4; // 可以编译通过 但是禁止执行
10 std::cout << num << std::endl;// 直接引用常量100,真实的内存已经被修改
11 // 引用这个变量,是直接常量表读取,没有直接从内存读取
12
13 std::cout << *p << std::endl;// 直接引用常量100
14 }
15 // const 动态监测类型实现赋值
16 // 赋值会自动实现数据类型转换避免类型不一致出错
17
18 /*
19 const常量:
20 const VC最新版本 GCC最新版本 都是从代码区存储常量常量
21 在寄存器里产生,不会从内存读取,编译器的优化
22
23 老版本C++编译器没有取地址符或者全局变量说明符直
24 接从寄存器产生,为了兼容C,出现取地址或者全局变量说明符
25 内存会分配常量的地址。取变量名不会读内存,常量会在寄存器中产生
26 取地址就可以直接修改
27
28
29 真实的内存我们实际已经修改成功了,编译器会优化,不会
30 从内存读取
31
32 变量:
33 传递给指向常量的指针,传递给常量引用,都可以去掉属性,
34 变量会从内存读取
35 */
长风破浪会有时,直挂云帆济沧海
posted on 2015-05-27 14:21 Dragon-wuxl 阅读(85) 评论(0) 收藏 举报
浙公网安备 33010602011771号