in C++, operator new is not only to allocate a chunk of memory, it is also class construction. thus, in semantic, operator new is much richer than function malloc. via exceptions, we get better informations and we can handle construction failures better.