为了账号安全,请及时绑定邮箱和手机立即绑定

const int *p = &a;不管是p还是*p不是都可以更改么?那const不是就失去意义了么?代码如下

int main()

{

int a = NULL, &b = a;

const int *p = &a, *&q = p;

a = 1;

p = &b;//这两行可以分别注释看看*p和p如何变化;

cout << *p << endl;

system("pause");

}


正在回答

4 回答

不可修改引用,但是该引用的值可以被修改

0 回复 有任何疑惑可以回复我~
#1

枝丫儿风吹吹

我这个在java没问题,但是c++明显不是这样的
2019-05-11 回复 有任何疑惑可以回复我~

请问这个的意思是通过地址修改是可行的吗

0 回复 有任何疑惑可以回复我~
const int *p=&a;可以这样理解为一个指针指向了一个常整型,那么是常整型的话应该*p取值就是不可以修改了,只可修改指针变量拍的地址了


0 回复 有任何疑惑可以回复我~
#1

好孩纸看不见

&a和&b地址是一样的吗
2019-03-27 回复 有任何疑惑可以回复我~

const int *p=&a和int const  *p=&a等价,都是*p不可修改,p可修改

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

const int *p = &a;不管是p还是*p不是都可以更改么?那const不是就失去意义了么?代码如下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信