C++ 面试题
目录

C++ 中 mutable 关键字的作用是什么?

· 约 2 分钟读完 · 第 34 / 181 章

推荐答案

mutable 关键字用于修饰类的成员变量,允许在 const 成员函数中修改该变量的值。即使对象被声明为 const,mutable 成员变量仍然可以被修改。

本题详细解读

1. mutable 的基本用法

mutable 关键字通常用于以下场景:

  • 当类的某个成员变量需要在 const 成员函数中被修改时。
  • 当类的某个成员变量用于缓存或记录状态,而这些状态的变化不应影响对象的逻辑状态时。

2. 示例代码

3. 使用场景

  • 缓存机制:例如,一个类可能有一个成员变量用于缓存计算结果。即使对象是 const,缓存的值仍然可以被更新。
  • 调试和日志记录:在 const 成员函数中记录某些操作的状态或调试信息时,可以使用 mutable 变量。

4. 注意事项

  • mutable 应该谨慎使用,因为它破坏了 const 的语义。只有在确实需要修改某些不影响对象逻辑状态的成员变量时,才应使用 mutable。
  • 滥用 mutable 可能导致代码难以理解和维护,因为它使得 const 成员函数的行为变得不可预测。