【发布时间】:2011-11-12 09:39:48
【问题描述】:
返回static成员变量的成员函数也应该是static吗?
例如:
struct T {
static int i;
static int getNumber() {
return i;
}
};
getNumber 是否应该是static?
【问题讨论】:
返回static成员变量的成员函数也应该是static吗?
例如:
struct T {
static int i;
static int getNumber() {
return i;
}
};
getNumber 是否应该是static?
【问题讨论】:
通常是的。
如果变量没有任何实例状态,那么函数在返回之前可以对其执行哪些可能的实例逻辑?
【讨论】:
这不是强制性的。您可以编写一个返回静态变量的成员函数。你不能反过来(写一个返回实例变量的静态函数)。
作为您可能希望返回静态成员的示例,想象一个类包含状态变量并根据状态返回其中一个静态值的情况。不是说这是好的设计,但也不是完全不可思议
【讨论】: