~int(),里边会做些什么,网上没找到资料

#include<iostream>
#include<array>

using namespace std;

template<typename T>
void des(T * pointer)
{
    pointer->~T();
}


int main()
{
    
    int * p = new int[8];
    for (int i = 0; i < 8; i++)
        *(p + i) = i;
    
    des(p + 3);
    
    for (int i = 0; i < 8; i++)
        cout << *(p + i) << endl;//0 1 2 3 4 5 6 7

    return 0;
}

这是我的测试,函数必须使用模板,如果去掉模板,以int代替T的话,根本无法运行,所以这里我想问两个问题:
(1)~int()是什么?
(2)为什么用模板就可以正确运行?

阅读 1.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题