我有以下来自 C++ 中 Eckel-Thining 的代码行
Class Obj{
static int i,j;
public:
void f() const {cout<<i++<<endl;}
void f() const {cout<<i++<<endl;}
};
int Obj::i=47;
int Obj::j=11;
现在它是用 Ecekl 为 const 成员函数编写的,通过声明一个成员函数 const ,我们告诉编译器不要修改类数据。我知道在某些特定情况下,例如 mutable const 并通过显式丢弃 this 指针的 constness ,我们可以取消它,但这里两者都没有发生,并且 i++ 和 j++ 工作正常。为什么会这样?