【发布时间】:2013-04-19 14:19:36
【问题描述】:
有什么区别
class C {
static int func();
};
和
class C {
int static func();
};
我正在尝试删除其他人代码库中的关键字 static。在我这样做之前,我想确保我理解第二个示例的含义。
[编辑] 删除static的原因:C 是一个没有成员变量且充满静态方法的“类”。我认为将“C”作为具有普通函数而不是类的命名空间更合适。
【问题讨论】:
-
你为什么要删除它?
-
因为 C 是一个没有成员变量且充满静态方法的“类”。我认为将“C”作为命名空间而不是类更合适。我说的对吗?
-
这确实是惯用的 C++ 方法。最初的编码员可能是 Java 开发人员(他们没有
namespace)。 -
@user2207811:你可以找到会倒下的人。使用类强制对调用的函数进行限定,并避免与未限定函数的潜在冲突。
-
@DavidRodríguez-dribeas:我们不要忘记类可以用作模板参数,而命名空间不能。
标签: c++