1. 程式人生 > >C++函式後面加const

C++函式後面加const

非靜態成員函式後面加const(加到非成員函式或靜態成員後面會產生編譯錯誤),表示成員函式隱含傳入的this指標為const指標,決定了在該成員函式中,任意修改它所在的類的成員的操作都是不允許的(因為隱含了對this指標的const引用);唯一的例外是對於mutable修飾的成員。加了const的成員函式可以被非const物件和const物件呼叫,但不加const的成員函式只能被非const物件呼叫例如:

呼叫非const成員函式產生編譯錯誤。 一般對於不需修改操作的成員函式儘量宣告為const成員函式,以防止產生const物件無法呼叫該成員函式的問題,同時保持邏輯的清晰。