阅读量:0
- 常量成员函数:在类中,如果有成员函数不会修改类的成员变量,可以将其声明为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指针主要用于保护指针和指针所指向的内容,防止意外修改,提高代码的可读性和安全性。