顶层const与底层const

顶层const:指针常量

  • 指针本身是一个常量
  • 指针不可以被修改以指向新的地址
  • 可以通过指针修改所指对象

底层const:常量指针

  • 指向一个常量的指针
  • 可以指向新地址
  • 不可以修改所指对象
1
2
3
4
5
// 语法要点
// 星号在前,顶层const
int *const p = &i
// 星号在后,底层const
const int *const p = &i

(注意:示例代码中i应为已定义变量,实际使用时建议添加变量定义)