in
int salary() const { return mySalary; }
据我所知const为这个指针,但我不确定。谁能告诉我const在这里的用途是什么?
答案 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();
如果m
是const
方法,是合法的,否则不会。
答案 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时,只有一个例外。