C++ const 详解

首先声明 这个不是我原创的我也是从别的地方看到的

const 详解:

常变量:    const    类型说明符    变量名

常引用:    const   类型说明符  &  引用名

常对象:    类名     const     对象名

常成员函数:  类名::fun(参数) const

常数组:    类型说明符     const     数组[大小]

常指针:   const   类型说明符 * 指针名            , 类型说明符 * const  指针名

 

在常变量, 常引用, 常对象, 常数组 中, const 与类型说明符或类名的 位置可以互换!!

比如: const int a=10; 等价于  int const a=10;     

 

注意:

ex:

const int* p = new int(10);

int* const q = new int(10);

 

记住 const 只对它左边的东西起作用, 除非左边没有东西 才会对右边起作用,  所以  const int* a;等价于 int const * a;

 

对前面的ex:

我们有    p是常量指针, 即 不能通过p来修改p所指向的值,但是可以可以修改p的指向  eg:p++; 允许, (*p)++; 禁止

            q是指针常量, 即 不能修改让q指向其他的内存区域,但是可以修改q指向的值 eg:p++; 禁止,  (*p)++;  允许

 

常量指针  const  int * a;  int const * a;

指针常量  int * const a;

posted @ 2017-04-27 13:22  Swust_lyon  阅读(318)  评论(0编辑  收藏  举报