C/C++之const关键字用法

来源:互联网 发布:lua脚本语言编程 编辑:程序博客网 时间:2024/05/23 19:35
const修饰指针的情况,见下式:
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]为指针本身和指向的内容均为常量。

原创粉丝点击