知识点: C++中的::operator new和::operator delete只负责分配空间,不负责构造与析构,与malloc和free功能差不多。
测试:
#include <iostream>
using namespace std;
class A
{
public:
A(){cout<<"default construction"<<endl;}
A(int t_){cout<<"int construction"<<endl;}
~A(){cout<<"destruction"<<endl;}
public :
int t;
};
int main()
{
cout<<"111"<<endl;
A *ap = (A*)(::operator new( (1*sizeof(A) )));
//ap->A(2);
cout<<"222"<<endl;
//destroy(ap);
::operator delete(ap);
cout<<"333"<<endl;
return 0;
}