我必须根据预定义的签名实现一组 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/