1 class A;
2 char* buffer = new [sizeof(A)];
3 memset(buffer, 0, sizeof(A));
4 A* a = new(buffer)A();
placement new的好处
1.在已分配好的内存上进行对象的构建,构建速度快。
2.可以反复利用同一块已分配好的内存,有效的避免内存碎片问题。
3.建立对象数组时,能够调用带参数的构造函数。
经典介绍
http://blog.csdn.net/zhangxinrun/article/details/5940019
placement new的用法规范
http://www.cnblogs.com/felixYeou/archive/2009/04/15/1436209.html
new/operator new/placement new的对比
http://www.cnblogs.com/luxiaoxun/archive/2012/08/10/2631812.html
注:placement new虽然可以带来一定的好处,但是推荐只有在有这种需求的时候再使用该模式,因为这样写出来的代码个人觉得很晦涩难懂。