您的位置:首页 > 编程语言 > C语言/C++

C++中的const使用小结

2015-09-01 09:44 323 查看
const最简单理解就是“不可更改”。之后再根据const出现的位置来具体理解不可更改的内容。

A. 指针所指向的数据内容不可更改。

假如有定义: char str[] = “hello”; 则:

1. const char *p = str;

2. char const *p = str;

上两种定义方式含义相同,即表示通过指针p无法更改其所指向的数据内容。

但可改变指针p所指向的位置。也就是说p[0] = ‘a’是违法的,但p = “hello”是允许的。

同理 const char str[] = “hello”也一样。

B. 指针所指向的位置不可更改。

1. char* const p = str;

则p = “hello”是违法的,但p[0] = ‘a’是允许的。

C. 函数返回值为const。

const Object get();

D. 成员函数为const,声明后该成员函数无法更改成员变量(静态成员变量除外)

class Object{
private:
int val;
static int i;
public:
void fun() const
{
val = 0; //错误,不能更改成员变量
i = 0; //正确,i为静态变量
}
}


E. 形参为const的,与A,B一致
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: