有什么区别吗
class C {
static int func();
};
和
class C {
int static func();
};
我正试图在其他人的代码库中删除关键字static。在我这样做之前,我想确保我理解第二个示例的含义。
[编辑] 删除 static 的原因:C 是一个没有成员变量且充满静态方法的“类”。我认为让“C”成为具有正常功能的命名空间而不是类更合适。
最佳答案
没有区别。函数声明上的 static
适用于该函数。
this
指针不会隐式传递给此函数,因此如果不显式将对象传递给函数,则无法访问此函数内部的非静态类成员。
首先要删除static
,您应该知道并理解它以这种方式设计的目的。如果不考虑这一点,您必然会产生很大比例的代码味道。
关于c++ - *static* 关键字在成员方法声明中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16106838/