const在这里有什么用处

时间:2010-01-08 02:53:34

标签: c++ const

in

int salary() const { return mySalary; }

据我所知const为这个指针,但我不确定。谁能告诉我const在这里的用途是什么?

7 个答案:

答案 0 :(得分:7)

听起来你有正确的想法,在C ++ const中对象的方法意味着该方法无法修改对象。

例如,不允许这样做:

class Animal {
   int _state = 0;

   void changeState() const { 
     _state = 1;
   }
}

答案 1 :(得分:5)

当函数标记为const时,可以在该类的const指针/引用上调用它。实际上它说这个函数不会修改类的状态

答案 2 :(得分:0)

这是const方法。这意味着它不会修改类的成员变量,也不会调用非const方法。因此:

const foo bar;
bar.m();
如果mconst方法,

是合法的,否则不会。

答案 3 :(得分:0)

这意味着可以在const对象上调用函数;在该成员函数中,this指针是const。

答案 4 :(得分:0)

它只是保证调用salary()不会改变对象状态。 IE,可以使用const指针或引用来调用它。

答案 5 :(得分:0)

这是一个const成员函数。这是一个合同,函数不会改变实例的状态。

更多信息:http://www.fredosaurus.com/notes-cpp/oop-memberfuncs/constmemberfuncs.html

答案 6 :(得分:0)

类的函数之后的const,意味着此函数不会修改此类的任何成员对象。 当成员变量标记为Mutable时,只有一个例外。