一个返回 static
成员变量的成员函数,是否也应该是 static
的?
例如:
struct T {
static int i;
static int getNumber() {
return i;
}
};
getNumber
方法应该是静态的还是非静态的?
这不是强制性的。您可以编写一个返回静态变量的成员函数。反过来是不行的(即编写一个返回实例变量的静态函数)。
作为一个需要返回静态成员的案例,想象一种情况,该类持有一个状态变量,并根据该状态返回其中一个静态值。这并非是良好的设计,但这并非完全不可想象。