由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 一个const_cast问题
相关主题
C++ 的 问题A question about cost char*
conversion between const to nonconst数组指针的问题
关于const_cast,地址一样,值不同?string operator +
一个诡异的const_cast问题一个C++ 的问题
const_cast问题Do the two statements cost the same amount of time?
why int** cannot convert to const int** ?which func will be called?
问题: C++ static_cast between int and float关于C++中一个Class的大小 (转载)
C++疑问c++ 得最基本问题
相关话题的讨论汇总
话题: const话题: cast话题: int话题: cpi话题: complier
进入Programming版参与讨论
1 (共1页)
h****b
发帖数: 157
1
const int i =5;
(*const_cast(&i)) = 6;
cout< 为啥i打印的还是5?是不是complier自动把i替换成5所以不能改?那const_cast在什么
时候能改变
变量值 ?
谢谢
t****t
发帖数: 6806
2
if i itself is const int, then any attempt to modify it is undefined. in fac
t, compiler could even optimize the value out when you reference i (use a co
nst instead).
const_cast can only be used to modify something that is not const, but is ca
st (temporarily) to const, e.g.
int i=5;
const int *cpi=&i;
//*cpi=6; //this is of course wrong
(*const_cast(cpi))=6; //correct

【在 h****b 的大作中提到】
: const int i =5;
: (*const_cast(&i)) = 6;
: cout<: 为啥i打印的还是5?是不是complier自动把i替换成5所以不能改?那const_cast在什么
: 时候能改变
: 变量值 ?
: 谢谢

h****b
发帖数: 157
3
thanks
1 (共1页)
进入Programming版参与讨论
相关主题
c++ 得最基本问题const_cast问题
[合集] 关于template和inheritance的问题请教why int** cannot convert to const int** ?
A aimple C++ question问题: C++ static_cast between int and float
关于C++ copy-constructor 一个奇怪的问题C++疑问
C++ 的 问题A question about cost char*
conversion between const to nonconst数组指针的问题
关于const_cast,地址一样,值不同?string operator +
一个诡异的const_cast问题一个C++ 的问题
相关话题的讨论汇总
话题: const话题: cast话题: int话题: cpi话题: complier