const 成员函数是否只调用 const 成员函数?
class Transmitter{
const static string msg;
mutable int size;
public:
void xmit() const{
size = compute();
cout<<msg;
}
private:
int compute() const{return 5;}
};
string const Transmitter::msg = "beep";
int main(){
Transmitter t;
t.xmit();
return EXIT_SUCCESS;
}
如果我不将 compute() 设为 const,则编译器会抱怨。是不是因为不允许 const 成员函数修改成员,所以它不允许任何对非常量的调用,因为这意味着 const 成员函数将“间接”修改数据成员?