读书人

如何去除常量性

发布时间: 2012-09-17 12:06:51 作者: rapoo

怎么去除常量性?
char const p='a';
有方法可以改变p所对应的值吗?
char * p2=const_cast<char*>(&p);
*p2='b';
这个我试了,不好使。
'a'分配在哪儿?

[解决办法]
自己google 常量折叠
另外,编程不是瞎折腾,不要在错误的路上走太远。
[解决办法]
因为编译器把常量直接替换了

这样写就不会替换了
char q='a';
char const p=q;
[解决办法]
自己认真去看置顶贴

探讨
int a=5;
cout<<a++<<a++<<a<<endl;
这个结果是怎么回事?
编译器做了什么事情?
int a=5;
printf("%d %d %d",a++,a++,a);

[解决办法]
探讨
if(a && ++b==0){
}
按帖子中说的,a和++b==0的顺序是没有规定的。编译器可以自行决定,对吗?

[解决办法]

1.
C/C++ code
char const p='a';char * p2=const_cast<char*>(&p);*p2='b'; 

读书人网 >C++

热点推荐