C++ 中的可变存储类


mutable 存储类说明符仅用于类数据成员,即使该成员是声明为 const 的对象的组成部分,也使其可修改。不能对声明为 static 或 const 的名称或引用成员使用 mutable 说明符。

在以下示例中 −

class A
{
   public:
   A() : x(4), y(5) { };
   mutable int x;
   int y;
};

int main()
{
   const A var2;
   var2.x = 345;
   // var2.y = 2345;
}

编译器不允许赋值 var2.y = 2345,因为 var2 已声明为 const。编译器将允许赋值 var2.x = 345,因为 A::x 已声明为 mutable。

更新于: 10-Feb-2020

2,000+ 次浏览量

开启您的 事业

完成课程获得认证

开始
广告
© . All rights reserved.