关于 const 的全面示例
// main.cpp
// Const
#include <iostream>
using namespace std ;
int main()
{
int a = 1 ; // 一个变量
const int ca = 1 ; // 一个常量
int *pa = &a ; // 一个指针, 指向变量
const int *pca0 = &ca ; // 一个指针, 指向常量
int const *pca1 = &ca ; // 同上
int * const cpa = &a ; // 一个常指针, 指向变量
const int * const cpca = &ca ;// 一个常指针, 指向一个常量
const int **ppca0 = &pca0 ; // 一个指针的指针, 最终指向一个常量
int const **ppca1 = &pca0 ; // 同上
int * const *pcpa = &pa ; // 一个指针指向一个常指针, 这个常指针又指向一个变量
int ** const cppa = &pa ; // 一个常指针, 指向一个变量
int * const * const cpcpa = &cpa ;// 一个常指针, 指向另一个常指针, 第二个常指针又指向一个变量
**cpcpa = 2 ; // 所有, 尽管有那么多的 const, 这句语句依然成立
const int * const * const cpcpca = &cpa ; // 一个常指针, 指向另一个常指针, 第二个常指针指向一个常量
}
总结:
关于 cosnt 的理解可以简单的看所有 const 左边的关键字, 如 : int * const 则表示 int * 是常量, 也就是一个常指针.
如果 const 开头, 可以简单的将 const 移动到第一个类型说明符后面, 再按照上述规律理解即可.