返回static
成员变量的成员函数是否也应为static
?
例如:
struct T {
static int i;
static int getNumber() {
return i;
}
};
getNumber
应该static
吗?
答案 0 :(得分:7)
通常,是的。
如果变量没有任何每个实例的状态,那么在返回之前函数可以对它执行什么样的每个实例逻辑?
答案 1 :(得分:2)
这不是强制性的。你可以编写一个返回静态变量的成员函数。你不能反过来(编写一个返回实例变量的静态函数)。
作为您可能想要返回静态成员的情况的示例,想象一下类保存状态变量的情况,并根据状态返回其中一个静态值。并不是说这是好的设计,但并非完全不可思议