用例:
class A {
static int s_common;
public:
static int getCommon () const { s_common; };
};
通常这会导致错误:
错误:静态成员函数 'static int A::getCommon()' 不能有 cv 限定符
这是因为const
ness 仅适用于 所指向的对象this
,该对象不存在于static
成员函数中。
但是,如果允许,static
成员函数的“常量”可能很容易与static
数据成员相关联。
为什么这个特性在 C++ 中不存在;这背后有什么合乎逻辑的原因吗?