豆豆首页 > 技术教程 > 程序设计 > C/C++

在预先定义的内存位置构造一个对象

http://tech.ddvip.com 2007年03月17日 04:34:25    赵湘宁
 
 

  当不再需要预定义的缓冲时,或者说当应用程序关闭时,必须释放预定义的缓冲。使用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]

点击搜索更多"对象"相关信息
正在加载评论...
请您留言
网友昵称: 匿名发表(无需注册)
 
请输入验证码:  
如果您还不是豆豆会员,欢迎注册
 
请您注意
· 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。
· 豆豆网拥有管理笔名和留言的一切权利。
 
 
相关链接
专题文章推荐