- 八月
- 21
- load
- load
C++顶层const和底层const的区别与区分 2017-08-21 16:46:22
随手翻开C++primer,看到顶层const(Top-Level const)和底层const(low-level const)时,一脸愣逼,变量的声明方式麻烦也算了,连常量的声明方式都分段位了?(看英文我总感觉是“顶级const”和“低级const”。)
如何理解他们的区别?
顶层const——常量指针:一旦初始化就不能改变其它值
底层const——指向常量的指针:是一个不能改变其指向内容的指针,但你可以改变指针的地址,const出现在类型的前后都可以(const int或int const),例如:
看到这些代码,不禁产生疑问:“这和指针变量有区别吗?”,区别是有的,既然是常量,就一定有它限制的地方,前面也提到:它是一个不能改变其指向内容的指针,如以下:
如何区分顶层const(Top-Level const)和底层const(low-level const)?
先来个小案例:
可见,基本上是指针常量(*常量)就是底层const。
原创文章,转载请注明出处
正在加载评论...