指针常量,常量指针
2007-04-13 11:56
260 查看
int b = 500;
const int* a = & [1]
int const *a = & [2]
int* const a = & [3]
const int* const a = & [4]
如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。不知道,也没关系,我们可以参考《Effective c++》Item21上的做法,如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量(const放在变量声明符的位置无关),这种情况下不允许对内容进行更改操作,如不能*a = 3 ;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]为指针本身和指向的内容均为常量。
const int* a = & [1]
int const *a = & [2]
int* const a = & [3]
const int* const a = & [4]
如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。不知道,也没关系,我们可以参考《Effective c++》Item21上的做法,如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量(const放在变量声明符的位置无关),这种情况下不允许对内容进行更改操作,如不能*a = 3 ;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]为指针本身和指向的内容均为常量。
相关文章推荐
- 常量指针与指针常量
- 常量指针 和 指针常量
- 指针常量and常量指针
- 指针常量与常量指针区别
- 指针常量和指向常量的指针
- 常量指针与指针常量
- C程序设计语言--指针与数组(三)常量指针 指针常量
- 指针常量与常量指针
- 常量指针(指向常量的指针)和指针常量
- 指针常量与常量指针区别
- 指针常量和常量指针
- 指针常量和常量指针的区别
- c++中常量指针(int const * p),指针常量(int * const p )
- 指针常量和常量指针
- C 指针常量和常量指针实例解析
- 理清C++常量指针和指针常量这团乱麻
- C++笔记——指向常量的指针/指针常量
- 【C++基础之二】常量指针和指针常量
- 常量指针 和 指针常量
- C++ 常量指针 指针常量