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

1) 函數名前加const

const int Func() {}

含義:返回值不可修改

2) 函數名後加const

int Func const () {}

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

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

應用場景:當該類的實例被聲明爲const時,通過該實例調用成員函數時,如果被調用的函數名後沒有const,則會報錯,不然編譯器會認爲函數調用可能會修改類成員,與前面對類實例的const聲明產生衝突


參考:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章