[問題] 關於const的問題

作者: dedicationsh (ddd)   2016-02-23 00:58:04
開發平台(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)是代表什麼呢?
作者: littleshan (我要加入劍道社!)   2016-02-23 01:33:00
第一個const會導致回傳值無法成為rvalue reference
作者: LPH66 (-6.2598534e+18f)   2016-02-23 01:10:00
可以把它想成是 this 的常數性平常的 this 是 T * const, 即我可以透過指標更改物件內容加了那個 const 則表示那個成員函式裡面的 this 是const T * const, 也就是連透過指標都不能改動
作者: CoNsTaR ((const *))   2016-02-23 01:06:00
代表成員函式不會動到資料成員第一個 const 是沒用的吧
作者: Caesar08 (Caesar)   2016-02-23 10:13:00
第一個const,在沒有move前(C++03)是有用的
作者: Yshuan (倚絃)   2016-02-23 18:29:00
pure function?

Links booklink

Contact Us: admin [ a t ] ucptt.com