列表

详情


85. 请你介绍const的用法

回答思路

const是常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。

举几个例子,说明const的大致用法

C++:

const int a=10;                //等价的书写方式:      int const a=10;  const int* a = & [1]          //非常量数据的常量指针   指针常量int const *a = & [2]          //非常量数据的常量指针     a is a pointer to the constant char variable int* const a = & [3]          //常量数据的非常量指针指针常量 常量指针a is a constant pointer to the (non-constant) char variable const int* const a = & [4]   //常量数据的常量指针

C++:

const int* a = & [1]          //非常量数据的常量指针   指针常量int const *a = & [2]          //非常量数据的常量指针     a is a pointer to the constant char variable int* const a = & [3]          //常量数据的非常量指针指针常量 常量指针a is a constant pointer to the (non-constant) char variable const int* const a = & [4]   //常量数据的常量指针

说明:

如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;

如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。

因此,[1]和[2]的情况相同,都是指针所指向的内容为常量,这种情况下不允许对内容进行更改操作,如不能a = 3;

[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;

[4]为指针本身和指向的内容均为常量。

上一题