• 八月
  • 21
  • 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。

原创文章,转载请注明出处

正在加载评论...

0 / 240

警告

确定