当不再需要预定义的缓冲时,或者说当应用程序关闭时,必须释放预定义的缓冲。使用delete[]完成这个任务,因为预定义的缓冲是一个字符数组。下列代码包含一个完整的例子的所有步骤,包括最终缓冲的释放:#include <new>
void placement_demo()
{
//1. 预分配缓冲
char * buff = new char [sizeof (Foo) ];
//2. 使用 placement new
Foo * pfoo = new (buff) Foo;
//使用对象
unsigned int length = pfoo->size();
pfoo->resize(100, 200);
//3. 显式调用析构函数
pfoo->~Foo();
//4. 释放预定义的缓冲
delete [] buff;
}
[责任编辑:editorforddvip]
相关链接
本栏更新