C++:静态成员变量

dud*_*ade 3 c++ variables static member non-static

声明:"静态成员变量只能由静态方法更改."

这个语句是否正确,或者静态成员变量是否也可以通过非静态方法更改?

谢谢!

Luc*_*ore 7

这是不对的.static数据成员可以由任何成员函数更改.static方法也可以由任何成员函数调用.

相反,这是不可能的:static方法不能调用非static方法,也不能访问非static成员.

那是因为static成员(方法和数据)绑定到一个类,而非静态绑定到类实例.


per*_*eal 7

这是不正确的.可以通过非静态成员函数访问和修改静态成员.