new、palcement new、operator new

来源:互联网 发布:ps淘宝包包修图教程 编辑:程序博客网 时间:2024/05/16 15:45

1、new是最常用的分配空间的,完成了分配空间和调用构造函数,使用完毕后调用delete;不能被重载,如果需要可以重载operator new

2、operator new 和new 的区别是只分配空间;可以被重载;释放 operator delete ;

3、placement new 不支持重载,是在已分配的空间上再次分配 eg : T *t = new (buf) T;其中buf为已经存在的对象空间;不会有分配失败的情况,此举可节约时间,适用于时间观念强的程序;对象的析构 是调用T的析构函数,对象全部使用完后buf调用delete释放空间;

eg:new (p) T(val);调用T::T();调用构造函数

0 0