placement new

来源:互联网 发布:webuploader php 编辑:程序博客网 时间:2024/06/06 19:47

stl vector 中的对象.如何实现在指定位置构造,析构?

vector构造时已分配好默认的缓冲区.push,pop将导致在指定位置构造,析构


在实现对象内存池时,placement new非常有用。

placement  new 用一个buffer作为缓冲区,作为new的指针缓冲区的方式。 用显式析构完成结束工作。


memset一个类(有虚函数),会导致什么问题,《Think in C++》,明确的说明过这个问题。

非POD类型(带有虚函数)的会包含编译器生成的vtableptr,如果使用memset进行初始化的时候,会把vtableptr给覆盖掉的


原创粉丝点击