mutable c++
时间: 2024-04-19 18:21:07 浏览: 92
C++中的可变(mutable)关键字用于修饰类的成员变量,使其能够在常量成员函数中被修改。默认情况下,常量成员函数不允许修改类的成员变量,但是通过使用mutable关键字,可以在常量成员函数中修改被mutable修饰的成员变量。
下面是一个示例,演示了如何在C++中使用mutable关键字:
```cpp
class Example {
public:
Example() : count(0) {}
void increment() const {
mutableCount++; // 在常量成员函数中修改mutableCount
}
int getCount() const {
return count;
}
private:
mutable int mutableCount; // 使用mutable修饰的成员变量
int count;
};
int main() {
Example obj;
obj.increment();
int count = obj.getCount(); // 返回1,因为在常量成员函数中修改了mutableCount
return 0;
}
```
在上面的示例中,我们定义了一个名为Example的类,其中包含一个使用mutable修饰的成员变量mutableCount。在常量成员函数increment()中,我们可以修改mutableCount的值。在主函数中,我们创建了一个Example对象obj,并调用increment()函数来增加mutableCount的值。最后,我们调用getCount()函数来获取mutableCount的值,返回1。
阅读全文