void *operator new(size_t size) throw();
void *operator new[](size_t size) throw();
operator new allocates space for an object whose size is specified by size and whose value is indeterminate.
operator new returns a null pointer if the space for the object cannot be allocated from free memory; if space for the object can be allocated, operator new returns a pointer to the start of the allocated space.
operator new[] has the same behaviour as operator new but is used for array allocation.
The implementation is not standard. The standard C++ implementation should throw an exception if memory allocation fails.