关于STL destroy函数的疑问

对stl中的destroy函数做如下测试:

template<typename T>
void MyDestroy(T* pointer)
{
    pointer->~T();
    cout<<"OK"<<endl;
}

int main()
{
    //int *p=new int();        //这里是怎么实现的??
    //cout<<*p<<endl;    //输出为0
    int *p=NULL;        //必须给p复初值,否则运行时会出错
                        //若写成int *p;运行时出错
    MyDestroy(p);
}

上述中的int *p=new int(); 和pointer->~T();在C++中是怎样实现的??求路过大神解释!!!

posted @ 2012-06-13 21:56  kasuosuo  阅读(428)  评论(1编辑  收藏  举报