如何在模板中调用类型的析构函数?

4By*_*tes 3 c++ templates constructor destructor template-function

例如,我们有一个类似的功能:

template <typename TYPE>
void construct_and_destruct(TYPE & object)
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

我们不能object.Type()和那样调用构造函数和析构函数object.~Type()(现在不正确)(为什么?= C

要调用构造函数,我们可以喜欢new(&object) TYPE()。而且我不知道如何调用析构函数(不存在放置delete)。这该怎么做?

Luc*_*ore 5

您可以将析构函数称为:

object.~TYPE();
Run Code Online (Sandbox Code Playgroud)

但这可能不是您想要的,并且会被删除。

构造函数很简单:

object = TYPE();
Run Code Online (Sandbox Code Playgroud)