dig*_*evo 1 c++ destructor default-constructor
我编写了一个实用程序类(我猜它充当辅助类),它只有几个要在另一个类中使用的静态成员函数。它没有任何非静态成员(变量或函数)。所以它也没有任何显式的 ctors或dtor。
问题是,我的编译器(GCC v11.2 和 -std=c++20)是否仍然为实用程序类生成隐式默认 ctor 和 dtor ?如果是这样,那么我应该如何防止它这样做?因为我没有在代码中初始化该类的任何实例。
(我稍微回避了你的问题,而不是提供主动提供的建议)如果你有一组函数static并且你的类不需要任何状态
class Example
{
public:
static void Foo();
static int Bar();
};
Run Code Online (Sandbox Code Playgroud)
那么你可能不应该class首先使用 a,而这些可能应该是命名空间中的自由函数
namespace Example
{
void Foo();
int Bar();
}
Run Code Online (Sandbox Code Playgroud)
它仍然允许您调用它们Example::Foo(),但Example::Bar()现在您不必担心有人尝试实例化您的“类”,因为这不是您设计它的目的。