C 中的const成員函式和mutable關鍵字

2022-04-12 10:07:26 字數 392 閱讀 2994

在c++中,如果乙個類的成員函式不會改變這個類的成員變數的值,我們通常將這樣的函式宣告稱const成員函式。例如,

1

classdummy2;

在編寫和使用const成員函式的時候需要知道幾點規則:

a.const物件只能訪問const成員函式,不能訪問非const函式。

b. const物件的成員是不可修改的,然而const物件通過非const指標維護時,就變成可以修改的了。

c.const成員函式不可以修改物件的資料,不管物件是否具有const性質。它在編譯時,以是否修改成員資料為依據,進行檢查。

e.然而加上mutable修飾符的資料成員,對於任何情況下通過任何手段都可修改,自然此時的const成員函式是可以修改它的。

C 中const成員函式和const物件

一 c 中函式和物件 1.const資料成員 跟const常量一樣,只是乙個在類裡 而且是在建構函式裡 乙個在類外而已,都必須初始化。2.const成員函式 即普通成員函式後再加const。它可以讀取資料成員的值,但不能修改它們。若要修改 時,資料成員前必須加mutable。以指定其可被任意更改。m...

C 中類的const成員函式和const物件

2.const成員函式 即普通成員函式後再加const。它可以讀取資料成員的值,但不能修改它們。若要修改 時,資料成員前必須加mutable。以指定其可被任意更改。mutable是ansic 考慮到實際程式設計時,可能一定要修改const物件中的某個資料成員而設的。const成員函式可以被相同參數列...

C 中的const成員函式

2 mutable關鍵字 對於乙個const物件來說,是不能呼叫普通的成員函式的。因為,c 認為,const 常量 物件,如果允許去呼叫普通的成員函式,而這個成員函式內部可能會修改這個物件的資料成員!而這將導致const物件不再是const物件!const物件只能呼叫const成員函式,如果乙個成員...