阅读量:123
- 常量成员函数:在类中,如果有成员函数不会修改类的成员变量,可以将其声明为const成员函数。在const成员函数中,所有的成员变量都变为const,这样可以防止该函数修改类的成员变量,这时需要使用const指针来指向当前对象。
class A {
public:
int getValue() const { return value; }
private:
int value;
};
int main() {
const A* a = new A();
int val = a->getValue();
delete a;
return 0;
}
- 防止指针修改被指向的内容:在函数参数中,为了防止函数修改指针所指向的内容,可以使用const指针。
void func(const int* ptr) {
// 不可以修改ptr所指向的内容
// *ptr = 5; // 编译错误
}
int main() {
int value = 10;
const int* ptr = &value;
func(ptr);
return 0;
}
- 常量指针:在一些情况下,需要保证指针不变,但允许修改指针所指向的内容,可以使用const指针。
int main() {
int value = 10;
int* const ptr = &value;
*ptr = 20; // 可以修改ptr所指向的内容
// ptr = nullptr; // 编译错误
return 0;
}
总的来说,const指针主要用于保护指针和指针所指向的内容,防止意外修改,提高代码的可读性和安全性。