为什么这个const成员函数修改静态成员数据?

Kav*_*edi 2 c++ const

我在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;
Run Code Online (Sandbox Code Playgroud)

现在它在Ecekl中为const成员函数编写,通过声明成员函数const,我们告诉编译器不要修改类数据.我理解在某些特定的情况下,比如可变const和显式地抛弃了这个指针的常量,我们可以废除它,但是这两个都没有发生,并且i ++和j ++正常工作.为什么会这样?

For*_*veR 6

const仅用于对象(this指针是const),static members允许修改.