今天看STL源码分析,内部一个destroy函数
template
inline void destroy(T* pointer)
{
pointer->~T();
}
当T为int的时候,如:
int *ptr = new int;
destroy(ptr);
这样就可以编译通过,而直接ptr->~int();就报错。
这是为什么啊,求指点。
http://www.cnblogs.com/snake-hand/p/3212159.html
学习一下这个
因为int 是内置类型,系统并没有给他提供析构函数