64,681
社区成员
发帖
与我相关
我的任务
分享
A *p = (A*)operator new(sizeof (A) * 100);//此处只申请了可以容纳100个A类对象的空间
//使用时可以用placement new来在该空间上创建对象,如:
new (p+i)A();//在p+i处创建一个A类的缺省对象
//也可以像这样来创建对象
(p+i)->A::A();//直接调用构造函数在p+i处创建对象
//注意在delete p所指的空间时,要先逐个调用所创建对象的析构函数,再调用operator delete释放空间
(p+i)->~A();//先析构所创建的对象
operator delete p;//释放申请的空间