C ++:类方法前面的“const”

时间:2011-02-20 21:03:55

标签: c++

以此方法声明为例:

const Vector Vector::operator - ( const Vector& other ) const;

我知道第二个const使Vector作为参数传递为不可变的,并且最后一个const声明该方法不会更改Vector类的当前实例....

  • 但第一个const到底意味着什么呢?

3 个答案:

答案 0 :(得分:8)

这是一种过时的安全措施,可以防止像a - b = c这样的无意义代码进行编译。

(我说“过时”,因为它会阻止只适用于非常量右值的move semantics。)

答案 1 :(得分:4)

第一个const表示此运算符将返回一个常量Vector对象。

答案 2 :(得分:0)

这意味着返回值为const Vector。 它具有更多意义,例如:const int& Vector::get(int index) const;