c++ - ~int(),里边会做些什么,网上没找到资料
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <code class = "c++" ># 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;
return 0;
}</code>
|
这是我的测试,函数必须使用模板,如果去掉模板,以int代替T的话,根本无法运行,所以这里我想问两个问题:
(1)~int()是什么?
(2)为什么用模板就可以正确运行?