相关疑难解决方法(0)

使用decltype和\或std :: remove_reference调用析构函数

是否可以使用decltype和\或std :: remove_reference调用析构函数(不使用运算符删除)?这是一个例子:

#include <iostream>
#include <type_traits>

using namespace std;

class Test
{
    public:
    Test() {}
    virtual ~Test() {}
};

int main()
{
    Test *ptr;

    ptr->~Test(); // works
    ptr->~decltype(*ptr)(); // doesn't work
    ptr->~std::remove_reference<decltype(*ptr)>::type(); // doesn't work

return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ destructor std decltype c++11

2
推荐指数
1
解决办法
547
查看次数

标签 统计

c++ ×1

c++11 ×1

decltype ×1

destructor ×1

std ×1