C++關(guān)鍵字mutable學(xué)習(xí)筆記
C++關(guān)鍵字mutable
mutable
主要用于解決常量成員函數(shù)無法修改對象狀態(tài)的限制.
在常量成員函數(shù)中, 允許修改關(guān)鍵字 mutable
修飾的變量.
#include <iostream> class MyClass { public: MyClass(int value) : m_value(value) {} void setValue(int value) const { // 在常量成員函數(shù)中修改成員變量 m_value = value; // 使用mutable修飾m_value可以直接修改 std::cout << "Modified value: " << m_value << std::endl; } int getValue() const { return m_value; } private: mutable int m_value; }; int main() { MyClass obj(10); std::cout << "Initial value: " << obj.getValue() << std::endl; obj.setValue(20); std::cout << "New value: " << obj.getValue() << std::endl; return 0; }
注意: mutable
只能用于非靜態(tài)成員變量, 對于靜態(tài)成員變量無效.
而常量成員函數(shù)通常設(shè)計為不修改對象的狀態(tài), 使用mutable
打破了這種約定, 使用時要慎重.
以上就是C++關(guān)鍵字mutable學(xué)習(xí)筆記的詳細內(nèi)容,更多關(guān)于C++關(guān)鍵字mutable的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C++ LeetCode1780判斷數(shù)字是否可以表示成三的冪的和
這篇文章主要為大家介紹了C++ LeetCode1780判斷數(shù)字是否可以表示成三的冪的和題解示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12C語言 哈希查找詳解(哈希表的創(chuàng)建、處理沖突、查找等)
哈希表是一種非常重要的數(shù)據(jù)結(jié)構(gòu),并在大量的計算機科學(xué)和工程應(yīng)用中發(fā)揮重要作用,了解哈希表的原理和實現(xiàn)方式,將有助于我們更好地理解這個數(shù)據(jù)結(jié)構(gòu)及如何應(yīng)用它來解決實際問題,這篇文章主要介紹了C語言 哈希查找(哈希表的創(chuàng)建、處理沖突、查找等),需要的朋友可以參考下2024-01-01C語言基礎(chǔ)之C語言格式化輸出函數(shù)printf詳解
這篇文章主要介紹了C語言格式化輸出函數(shù)printf詳解,printf函數(shù)中用到的格式字符與printf函數(shù)中用到的格式修飾符,感興趣的小伙伴可以借鑒一下2023-03-03Cocos2d-x保存用戶游戲數(shù)據(jù)之XML文件是否存在問題判斷方法
這篇文章主要介紹了Cocos2d-x保存用戶游戲數(shù)據(jù)之XML文件是否存在問題判斷方法,請注意代碼中包含大量注釋,需要的朋友可以參考下2014-09-09