如果類的成員函式後面加了const關鍵字,說明這個函式是不能改變類中的成員變數的。如果在編寫該函式會修改類中的成員變數,編譯時會出錯,並且也提高了程式的可讀性,當我們看到函式後面有const的話就知道這個函式是不會修改類中資料的。
注意:
1、只能加在非靜態成員函式後面,加在靜態成員函式和普通函式後面會編譯出錯。
2、【例外】如果乙個類中有mutable 修飾的成員變數,此類函式是可以修改的。
3、【實現】其實就是在該類函式的this隱式引數的型別為const。
3、const物件只能呼叫此類函式,非const物件沒有這個限制,所以為了讓const物件呼叫等多的成員函式,如果乙個成員函式不會修改類中資料的話最好在後面加const。
在類成員函式後面加const
在看開源 時,經常會看到在類的成員函式後面加const,之前了沒有太關注過,近來閒來無事,就想起這件事,網上查了一下,大概明白了是怎麼回事,這裡引用csdn愽文裡的段話 編譯器會自動給每乙個函式加乙個this指標。在乙個類的函式後面加上const後,就表明這個函式是不能改變類的成員變數的 加了mut...
函式後面加const
類的成員函式後面加 const,表明這個函式不會對這個類物件的資料成員 準確地說是非靜態資料成員 作任何改變。在設計類的時候,乙個原則就是對於不改變資料成員的成員函式都要在後面加 const,而對於改變資料成員的成員函式不能加 const。所以 const 關鍵字對成員函式的行為作了更加明確的限定 ...
函式後面加const
類的成員函式後面加 const,表明這個函式不會對這個類物件的資料成員 準確地說是非靜態資料成員 作任何改變。在設計類的時候,乙個原則就是對於不改變資料成員的成員 函式都要在後面加 const,而對於改變資料成員的成員函式不能加 const。所以 const 關鍵字對成員函式的行為作了更加明確的限定...