大佬们将new的用法总结介绍的很透彻,但是在查看过程中很少有人写出各种用法的示例。
下面浅显易懂的说一下new的各种用法(详细细节未列出,如有错误恳请批评指正):
1.new operator
可分解为两个大动作:
(1)调用operator new:作用为分配内存(内部相当于使用malloc(n)n为想要分配元素的大小)
(2)使用placement:调用构造函数
*用法示例:T ptr=new T ();
2.operator new
主要作用为分配内存
**用法示例:int v=static_cast<int >(::operator new(5sizeof(v)));
3.placement new
第一个参数必须为size_t,指示你要分配的内存大小
*用法示例:Foo pf=new(300,‘c’) Foo;
*结合用法示例:Foo p6=new(100,‘a’) Foo(1);