关于 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 移动到第一个类型说明符后面, 再按照上述规律理解即可.

posted @ 2011-04-19 18:12  walfud  阅读(193)  评论(0编辑  收藏  举报