QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1269|回复: 1

c++ const_cast 问题 请大哥们给小弟解释一下

[复制链接]
发表于 2006-2-22 15:48:39 | 显示全部楼层 |阅读模式
程序如下:
[code:1]
#include <iostream>
using namespace std;

int main() {
    const int i = 10;
    int &n = const_cast<int&>(i);

    n = 100;

    cout << "i address is " << &i << "\n"
            << "n address is " << &n << "\n";

    cout << " i value is " << i << "\n"
            << "n value is " << n << endl;
}
[/code:1]
可以看出去常量后n对i的引用依然有效而且实际指向的地址一样

但是通过n赋值后为什么i的值就没有改变呢???

小弟现在还再学习c++ 这点给我弄糊涂了!!!![/code]
发表于 2006-2-22 16:25:44 | 显示全部楼层
undefined behavior?

标准上没找到明确的描述,可能编译器对直接使用i的地方进行了替换。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 22:39 , Processed in 0.040632 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表