课程
/后端开发
/C++
/C++远征之离港篇
指针指向const修饰的变量时,应该是const int const *p = &a;,这是练习题中的,视频里没有讲到const int const *p = &a,这个什么意思?
2018-11-12
源自:C++远征之离港篇 3-3
正在回答
当const已经修饰一直变量时,再去用指针去指这个变量会很危险,因为指针可以改去该变量的值,与const就有冲突的风险,const int *p=&a和const int * const p=&a是可以的,这样保证了*p的值不能改变,所以就不会有与const冲突的可能性。
const int const *p = &a这种写法可以运行,但是等价于const int *p = &a,也等价于int const *p = &a。从可读性角度,可删减一个const。三种const的作用都是把*p当作常量。
不能把,只能有一个const。习题中不是你这样的,你再看看
qq_慕瓜7215810 提问者
举报
C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通