-----taodm-----请进, vector中new的对象的delete 问题
effictive STL里 条款7 :
......指针的”析构函数“是无操作。
template <class T>
void Des(T* p)
{
p->~T();
}
int main()
{
Test* p = new Test;
Des(p);
}试过之后, “有操作啊"
看了
_destroy_aux(FIter, FIter, _true_type)
{
//空
}
template <class T>
struct _type_traits<T*>
{
typedef _true_type has_trivial_default_constructor;
........
}
意思是对指针类型的, 配置器都不会调用其析构函数, 而不是说
“指针的”析构函数“是无操作。” 是这样的吗?
再弱弱的问一下:
他说的原生指针, int* p; char* p;...... (为什么说“原生”指针)
class T
{};
T* p; 这也是原生指针?