c++ mutable关键字
时间: 2023-11-24 13:52:20 浏览: 101
深入解析C++中的mutable关键字
mutable关键字是C++中的一个少用的关键字,它的作用是允许在const成员函数中修改被声明为mutable的成员变量。当一个类的成员变量不能修改时,我们在其声明处前添加const关键字进行修饰。但是,如果这个成员变量是可变的,那我们就使用mutable关键字修饰变量类型。下面是一个使用mutable关键字的例子:
```c++
class OutTestClass {
public:
OutTestClass() {
count = 0;
msg = "Hello, World!";
}
public:
void print() const {
std::cout << msg << std::endl;
++count;
}
private:
mutable int count; // mutable关键字修饰的成员变量
std::string msg;
};
```
在上面的例子中,count被声明为mutable,因此即使在const成员函数print()中,也可以对count进行修改。这在某些情况下非常有用,例如在一个const成员函数中需要对某些状态进行统计。
另外,引用中的代码是在输出a.getCount()的值,其中getCount()是一个成员函数,但是由于它没有修改任何成员变量,因此可以被声明为const成员函数。在const成员函数中,只能访问被声明为mutable的成员变量。
阅读全文