const成员函数不修改对象状态,用于保证数据安全、提升可读性,允许const对象调用,支持与非const版本重载,mutable成员可在const函数中修改。

在C++中,const成员函数是指不会修改类对象状态的成员函数。通过在函数声明和定义的末尾加上 const 关键字,告诉编译器该函数不会修改类的任何非静态成员变量(除非这些成员被声明为 mutable)。
在成员函数参数列表后加上 const,表示该函数是 const 成员函数:
class MyClass {
    int value;
public:
    int getValue() const;  // 声明为 const 成员函数
    void setValue(int v);  // 普通成员函数
};
// 定义时也要加上 const
int MyClass::getValue() const {
    return value;  // 只读操作,不修改成员
}
保证数据安全性:const 成员函数承诺不修改对象的状态,适合用于访问器(getter)函数。
如果一个对象被定义为 const,则它只能调用 const 成员函数:
立即学习“C++免费学习笔记(深入)”;
const MyClass obj; obj.getValue(); // ✅ 合法,getValue 是 const 函数 obj.setValue(10); // ❌ 错误!不能通过 const 对象调用非 const 函数
有时需要在 const 成员函数中修改某个成员变量(比如用于缓存或计数),可以将该成员声明为 mutable:
class Logger {
    mutable int callCount;
public:
    void log() const {
        callCount++;  // 允许在 const 函数中修改 mutable 成员
        std::cout << "Log called " << callCount << " times\n";
    }
};
以上就是c++++中const成员函数是什么意思_c++ const成员函数定义与作用的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号