Ven*_*nom 2 c++ const function
可能重复:
C++方法声明中"const"的含义是什么?
在下面的函数声明中,
const char* c_str ( ) const;
Run Code Online (Sandbox Code Playgroud)
第二个const做了什么?
jua*_*nza 17
这意味着该方法是一个"const方法"对这种方法的调用不能改变任何实例的数据(mutable数据成员除外),并且只能调用其他const方法.
const方法可以在const或非const实例上调用,但非const方法只能在非const实例上调用.
struct Foo {
void bar() const {}
void boo() {}
};
Foo f0;
f0.bar(); // OK
fo.boo(); // OK
const Foo f1;
f1.bar(); // OK
f1.boo(); // Error!
Run Code Online (Sandbox Code Playgroud)