The class describes an exception thrown to indicate that an allocation request did not succeed.
class bad_alloc : public exception { bad_alloc(const char *_Message): exception(_Message) {} bad_alloc(): exception("bad allocation", 1) {} virtual ~bad_alloc() {} };
An instance of bad_alloc can be constructed from a message or from a message string with no memory allocation.
The value returned by what is an implementation-defined C string. None of the member functions throw any exceptions.
Header: <new>
// bad_alloc.cpp // compile with: /EHsc #include<new> #include<iostream> using namespace std; int main() { char* ptr; try { ptr = new char[(~unsigned int((int)0)/2) - 1]; delete[] ptr; } catch( bad_alloc &ba) { cout << ba.what( ) << endl; } }
bad allocation