Chinaunix首页 | 论坛 | 博客
  • 博客访问: 360484
  • 博文数量: 60
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 1138
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 16:18
个人简介

最多140个字

文章分类

全部博文(60)

文章存档

2016年(1)

2015年(34)

2014年(25)

分类: C/C++

2014-03-05 13:35:28

//C++ Primer
//显示调用析构函数的效果是适当的清除对象本身。但是,并没有释放对象所占的内存,如果需要,可以重用该内存空间。



  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;


  4. class Test{
  5. int i;
  6. public:
  7. Test(int i=0)
  8. {
  9. printf("constructor%d\n",i);
  10. }
  11. ~Test()
  12. {
  13. printf("destroy\n");
  14. }
  15. };


  16. int main()
  17. {
  18. /*    Test *p=new Test;
  19. p->~Test();

  20. new (p)Test(1);//placement new
  21. p->~Test();
  22. operator delete((void*)p);
  23. //delete p; 
  24. */
  25. Test t;
  26. t.~Test();
  27. new (&t)Test(1);//placement new


  28. return 0;
  29. }


阅读(1874) | 评论(0) | 转发(0) |
0

上一篇:第二章

下一篇:OPERATOR NEW FUNCTION

给主人留下些什么吧!~~