在c++中const成员函数是无法修改成员变量的值。在c++11中出现了mutable关键字,表示的变量的值是可修改的,易变的。即可以在const成员函数中修改该变量的值,而不会导致编译失败。
#include <iostream>
using namespace std;
class A
{
public:
A(int a):m_a(a) {}
int add(int b) const { return m_a = m_a + b; }//const成员函数
//int m_a; const成员函数是不能改变一个成员变量的值
mutable int m_a; //使用了mutable,表示在const成员函数中,该值是可以被改变的
};
int main()
{
A a(10);
a.add(10);
}
本文深入探讨了C++中mutable关键字的作用与应用。在C++11标准下,mutable允许在const成员函数中修改特定变量的值,打破了const成员函数不可修改成员变量的传统限制。通过实例代码展示了如何正确使用mutable关键字,以及它在现代C++编程中的重要性。
244

被折叠的 条评论
为什么被折叠?



