[问题] 关于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