gpt4 book ai didi

c++ - *static* 关键字在成员方法声明中的位置

转载 作者:可可西里 更新时间:2023-11-01 18:20:29 26 4
gpt4 key购买 nike

有什么区别吗

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com