what is the difference between Malloc and new operator to allocate a memory?
Possible Duplicate:
What is the difference between new/delete and malloc/free?
I was confused when I create an object by using new operator in C++. There must be difference between malloc and new operator that would allow me to resize the memory block. If I want to allocate a memory I use malloc but what if I use a new operator?
İsn't it allocate a memory? Can you explain that when shoul I use malloc and when should I use new ?
X* ptr = new(1,2) X;
obj = (ObjID *)malloc( sizeof(ObjID) );
thanks so much.
In C++ you should always use new
and pair it with delete
.
new
分配内存,并且还为你正在分配的类型调用类构造函数。
new
will not only allocate you memory for objects but will also call the constructor on the objects created. malloc
will just allocate you a block of memory of the given size with no guarantee of the contents.