Thursday, September 18, 2008

Difference between new/delete and malloc/free pairs

You have two pairs: new() and delete() and another pair : alloc() and free(). 
Explain differences between eg. new() and malloc() 

Answer*:-
1.) “new and delete” are preprocessors while “malloc() and free()” are functions. [we dont use brackets will calling new or delete]. 
2.) no need of allocate the memory while using “new” but in “malloc()” we have to use “sizeof()”. 
3.) “new” will initlize the new memory to 0 but “malloc()” gives random value in the new alloted memory location [better to use calloc()] 

Answer**:-

new() allocates continous space for the object instace
malloc() allocates distributed space.
new() is castless, meaning that allocates memory for this specific type,
malloc(), calloc() allocate space for void * that is cated to the specific class type pointer.
 

No comments:

Post a Comment

Thanks to given comments.......

My Blog List