c 關鍵字mutable深入解析

2022-09-28 01:54:09 字數 628 閱讀 4321

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的執行緒...