1、關於mutable關鍵字
先說用法,mutable關鍵字只能修飾非靜態以及非常量成員變數,使用muwww.cppcns.comtable修www.cppcns.com飾的成員變數在const函式中的值是可以修改的。
比如說下面的**:
複製** **如下:
class de程式設計客棧mo
~demo() {}
public :
bool getflag()const
&nbs程式設計客棧p;
private :
int m_naccess;
bool m_bflag;
};int main()
編譯的時候會報錯,因為const成員函式修改了成員變數,但是如果宣告m_naccess的時候加上關鍵字mutable就可以了。
ps:乙個物件的狀態由該物件的非靜態資料 成員決定,所程式設計客棧以隨著資料成員的改變, 對像的狀態也會隨之發生變化! 如果乙個類的成員函式被宣告為const型別,表示該函式不會改變物件的狀態,也就是該函式不會修改類的非靜態資料成員.但是有些時候需要在該類函式中對類的資料成員進行賦值.這個時候就需要用到mutable關鍵字了。
本文標題: c++關鍵字mutable深入解析
本文位址:
深入解析C 中的mutable關鍵字
在c 中,mutable也是為了突破const的限制而設定的。被mutable修飾的變數,將永遠處於可變的狀態,即使在乙個const函式中 mutalbe的中文意思是 可變的,易變的 跟constant 既c 中的const 是反義詞。在c 中,mutable也是為了突破const的限制而設定的。被...
深入解析C 中的mutable關鍵字
mutalbe的中文意思是 可變的,易變的 跟constant 既c 中的const 是反義詞。在c 中,mutable也是為了突破const的限制而設定的。被www.cppcns.commutable修飾的變數,將永遠處於可變的狀態,即使在乙個const函式中。我們知道,如果類的成員函式不會改變物...
mutable關鍵字解析
c 11引入mutable關鍵字,它是乙個型別修飾符,用來修飾成員變數或者是lambda函式,接下來分布來說明。當mutable用來修飾成員變數時,表明該成員變數屬於物件內部可變狀態,對外不可見。即使在const函式也可改變,不影響外部使用者對此const函式的邏輯語義。比如,基於mutex的執行緒...