
Keith B. answered 09/08/19
Software Engineer and Math Geek
new is an operator in C++ and it calls the constructor. malloc is a function and does not. new returns an object of that type, malloc returns a void pointer. If malloc fails, it returns 0; if new fails, it throws an error. As an operator, new can be overridden, same as any other operator. Lastly, operators are faster than functions.
I basically always use new.