首页 简历|笔试面试

顶层const和底层const

  • 25年9月11日 发布
  • 91.86KB 共1页
顶层const和底层const

表示声明常量的const都是顶层const。 用于声明引用的const都是底层const。

而修饰指针类型的的const: 则顶层const是:指针本身是常量。 底层const是:指针所指的

对象是常量。 而即是顶层const又是底层const的就是指向和所指的内容都不可以修改的指

针。

C++primer的例题2.30

对于下面的这些语句,请说明对象被声明成了顶层const还是底层const?

const int v2 = 0; int v1 = v2;

int *p1 = &v1, &r1 = v1;

const int *p2 = &v2, *const p3 = &i, &r2 = v2;

答案:v2 是顶层const,p2 是底层const,p3 既是顶层const又是底层const,r2 是底层const。

解析:

const int v2 =0 ; 示声明常量的const都是顶层const,因此v2是顶层const。

const int *p2 = &v2 ; p2是常量指针,因而是底层const。

对p3的声明可以改写为:const int *const p3 = &i ; 可以看到const既修饰了类型也修饰了指

向,因此p3 既是顶层const又是底层const。

对r2的声明可以改写为:const int &r2 = v2 ; 而用于声明引用的const都是底层const,因此r2

是底层const。

开通会员 本次下载免费

所有资料全部免费下载! 推荐用户付费下载获取返佣积分! 积分可以兑换商品!
一键复制 下载文档 联系客服