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。
廣告