gpt4 book ai didi

c++ - 在全局函数中实现,或者在全局函数包装的类中实现

转载 作者:太空狗 更新时间:2023-10-29 20:19:32 27 4
gpt4 key购买 nike

我必须根据预定义的签名实现一组 60 个函数。它们必须是全局函数,而不是某些类的成员函数。当我实现它们时,我使用了一组由第 3 方提供的做得很好的类。

我对大多数功能的实现都很短,大约 5-10 行,主要处理对第 3 方类的不同访问。对于一些更复杂的函数,我创建了几个新类来处理所有复杂的东西,我也在函数中使用它们。所有状态信息都存储在我和第 3 方类的静态成员中,因此我不必创建全局变量。

问题:如果我实现一个具有 60 个成员函数的大类,并在那里完成所有实现(现在在全局函数中),会不会更好?而我必须编写的每个函数都将调用类中相应的成员函数。

最佳答案

All the state information is stored in the static members of my and 3rd party's classes, so I don't have to create global variables.

这是重点。不,绝对不应该把它们放到类里面。类是用来创建对象的。在您的情况下,您会将它们用作数据和函数的范围。但这是命名空间已经更好地解决的问题:

namespace stuff {
... 60 functions ...
namespace baz {
... if you want, you can have nested namespaces, to ...
... categorize the functions ...
}

namespace data {
... you can put data into an extra namespace if you want ...
}
}

创建仅由静态成员组成的类不是一个好主意。

关于c++ - 在全局函数中实现,或者在全局函数包装的类中实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/487243/

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