C++ 中的可变存储类型


可变存储类型的说明符仅用于类的 data 成员,即使该成员是声明为常量的 const 对象的一部分,也可使该成员可修改。你不能将可变说明符用于声明为 static 或 const 的名称或引用成员。

在以下示例 中 −

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 已声明为可变的。

更新于:10-Feb-2020

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始吧
广告
© . All rights reserved.