Used for dynamic allocation or array based data types.
void* operator new[] (std::size_t size) throw(std::bad_alloc); void* operator new[] (std::size_t size, const std::nothrow_t&)throw();
The default operator new will throw an exception upon failure. The nothrow version will return NULL upon failure.