阅读量:99
- 常量成员函数:在类的成员函数声明和定义中使用const关键字,表示该函数不会修改对象的成员变量。这样的函数可以被常量对象调用。
class MyClass {
public:
void doSomething() const {
// 不能修改成员变量
}
};
- 重载操作符:在重载操作符函数中使用const关键字,避免修改对象的状态。
class MyClass {
public:
MyClass operator+(const MyClass& other) const {
// 返回一个新的对象,不会修改当前对象
}
};
- 访问器函数:如果函数只是返回对象的成员变量的值而不修改它们,应该使用const关键字。
class MyClass {
public:
int getValue() const {
return value;
}
private:
int value;
};
- 避免错误修改:使用const关键字可以避免在函数内部错误地修改对象的成员变量。
void processObject(const MyClass& obj) {
// obj.doSomething(); // 错误,const对象不能调用非const函数
int value = obj.getValue(); // 正确,调用const函数
}