成员函数返回一个静态变量

时间:2011-09-07 18:08:56

标签: c++ methods static

返回static成员变量的成员函数是否也应为static

例如:

struct T {
   static int i;
   static int getNumber() {
       return i;
   }
};

getNumber应该static吗?

2 个答案:

答案 0 :(得分:7)

通常,是的。

如果变量没有任何每个实例的状态,那么在返回之前函数可以对它执行什么样的每个实例逻辑?

答案 1 :(得分:2)

这不是强制性的。你可以编写一个返回静态变量的成员函数。你不能反过来(编写一个返回实例变量的静态函数)。

作为您可能想要返回静态成员的情况的示例,想象一下类保存状态变量的情况,并根据状态返回其中一个静态值。并不是说这是好的设计,但并非完全不可思议