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

const int const *p = &a;格式对不对

指针指向const修饰的变量时,应该是const int const *p = &a;,这是练习题中的,视频里没有讲到const int const *p = &a,这个什么意思?

正在回答

3 回答

当const已经修饰一直变量时,再去用指针去指这个变量会很危险,因为指针可以改去该变量的值,与const就有冲突的风险,const int *p=&a和const int * const p=&a是可以的,这样保证了*p的值不能改变,所以就不会有与const冲突的可能性。



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

const int const *p = &a这种写法可以运行,但是等价于const int *p = &a,也等价于int const *p = &a。从可读性角度,可删减一个const。三种const的作用都是把*p当作常量。


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

不能把,只能有一个const。习题中不是你这样的,你再看看

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

qq_慕瓜7215810 提问者

答案说:指针指向const修饰的变量时,应该是const int const *p = &a;。
2018-11-12 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

const int const *p = &a;格式对不对

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