1. 程式人生 > >函式名前後加const修飾符的區別

函式名前後加const修飾符的區別

1) 函式名前加const

const int Func() {}

含義:返回值不可修改

2) 函式名後加const

int Func const () {}

含義:const修飾的是類函式隱藏的第一個引數 this指標,這表明this指標只讀,也即類成員不可修改

注意該用法只能是成員函式,要是類的靜態函式或者是非成員函式就不可以在函式名後面加上const

應用場景:當該類的例項被宣告為const時,通過該例項呼叫成員函式時,如果被呼叫的函式名後沒有const,則會報錯,不然編譯器會認為函式呼叫可能會修改類成員,與前面對類例項的const宣告產生衝突

參考:

http://www.iteblog.com/archives/214