c++ 调用内置类型(int,char等)的析构函数*

在C++中,以下代码给出了编译器错误:

void destruct1 (int * item)
{
  item->~int();
}


这段代码几乎相同,我只是将int定义为另一种类型,并且发生了一些魔术:

#include <iostream>
using namespace std;

typedef int myint;

void destruct2(myint* item) {
    item->~myint();
    cout << "finish xi gou" << endl;
}

int main(int argc, char const* argv[]) {
    myint a = 100;
    destruct2(&a);
    return 0;
}
posted @ 2021-10-25 10:08  邱明成  阅读(226)  评论(0编辑  收藏  举报