Класс bad_alloc
Данный класс описывает исключение, возникновение которого указывает на то, что запрос на выделение памяти не выполнен.
Синтаксис
class bad_alloc : public exception {
bad_alloc();
virtual ~bad_alloc();
bad_alloc(const bad_alloc&);
bad_alloc& operator=(const bad_alloc&);
const char* what() const override;
};
Замечания
Возвращаемое what
значением является строка C, определяемая реализацией. Ни одна из функций-членов не создает исключение.
Пример
// 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