Malloc和新运营商分配内存有什么区别?
可能重复:
new / delete和malloc / free有什么区别?
我在C ++中使用new运算符创建对象时感到困惑。 malloc和new运算符之间必须有区别,这将允许我调整内存块的大小。 如果我想分配一个内存我使用malloc但如果我使用一个新的操作符?
它不分配内存? 你能解释一下,当我使用malloc,什么时候应该使用新的?
X* ptr = new(1,2) X;
obj = (ObjID *)malloc( sizeof(ObjID) );
非常感谢。
在C ++中,您应该始终使用new
并将其与delete
配对。
new
分配内存,并且还为你正在分配的类型调用类构造函数。
new
不仅会为对象分配内存,还会在创建的对象上调用构造函数。 malloc
只会为你分配给定大小的内存块,但不保证内容。
上一篇: what is the difference between Malloc and new operator to allocate a memory?