UP | HOME

顶层const与底层const

目录

定义

顶层 const:表示指针本身是个常量,更简单的说顶层 const 作用对对象本身,表示对象自身是一个常量。

底层 const:表示指针所指向的对象是个常量。

分析

const.jpg

我在想,作者在引入这个概念时,是不是在想了这样一幅图:pointer 在相对上层,被指向的变量在下层,通过层次的引入来区分 const 的作用对象。

顶层 const 指在图中顶端的修饰指针本身的 const,底层 const 指在图中最底层的修饰指针所指向变量的 const。

const 的影响

int const * const p;
      ^       ^
      1       2
  • 底层 const(上述代码中 1 的位置)主要影响的是指向的对象
    • 底层 const 表示为不能修改所指向的对象的值,即,所指向的对象是一个常量。
  • 顶层 const(上述代码中 2 的位置)主要影响的是对象本身
    • 表示对象本身不能被修改,即,对象(指针)本身是个常量,但是可以修改指针所指向的对象的值。

作者: Petrus.Z

Created: 2021-09-01 Wed 00:39