看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): class Time { public: const Time operator+(const Time &) const; (1) (2) (3) … }; 請問第(3)個const是代表什麼意思? 第(1)個const應該是指回傳的Time是不可以被修改 第(2)則是說 輸入的 Time reference不能被修改 那第(3)是代表什麼呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.200.75 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1456160288.A.E09.html ※ 編輯: dedicationsh (140.114.200.75), 02/23/2016 01:01:20
CoNsTaR: 代表成員函式不會動到資料成員 02/23 01:06
CoNsTaR: 第一個 const 是沒用的吧 02/23 01:07
LPH66: 可以把它想成是 this 的常數性 02/23 01:10
LPH66: 平常的 this 是 T * const, 即我可以透過指標更改物件內容 02/23 01:10
LPH66: 加了那個 const 則表示那個成員函式裡面的 this 是 02/23 01:11
LPH66: const T * const, 也就是連透過指標都不能改動 02/23 01:11
littleshan: 第一個const會導致回傳值無法成為rvalue reference 02/23 01:33
Caesar08: 第一個const,在沒有move前(C++03)是有用的 02/23 10:13
Yshuan: pure function? 02/23 18:29