永发信息网

C++:const_cast只能用来操作指针和引用吗?

答案:2  悬赏:50  手机版
解决时间 2021-03-22 07:04
  • 提问者网友:王者佥
  • 2021-03-21 06:06
求解-。-试了基本变量不好使

int main() {
const int a=10;
const_cast(a);
a=20;
cout<return 0;
}
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-03-21 06:56
这是一种类转换操作符,也许是你领会错了它的用法。
你展示一段代码,说说你期待的效果和实际的效果,我们可以分析看看是什么情况。

哦,刚才没仔细想。
const_cast 是只能用于指针或者引用的。无法对变量本身使用。
全部回答
  • 1楼网友:英雄的欲望
  • 2021-03-21 07:09

const_cast只可以对指针和引用使用,正确的如下:

 const int a = 789;  int *p = const_cast<int*>(&a);  *p = 987;

c++为const分配存储空间定义在符号表里。而符号表编译时就被初始化了。 使用指针取地址则会改变上述特性。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯