namespace std { class bad_alloc : public exception { public: bad_alloc() noexcept; bad_alloc(const bad_alloc&) noexcept; bad_alloc& operator=(const bad_alloc&) noexcept; const char* what() const noexcept override; }; }
Класс bad_alloc определяет тип объектов, создаваемых реализацией как исключения, чтобы сообщить об ошибке выделения памяти.
bad_alloc() noexcept;
bad_alloc(const bad_alloc&) noexcept;
bad_alloc& operator=(const bad_alloc&) noexcept;
const char* what() const noexcept override;
Remarks: Сообщение может быть null-terminated multibyte string, подходящим для преобразования и отображенным как wstring ([string.classes], [locale.codecvt]).
namespace std { class bad_array_new_length : public bad_alloc { public: bad_array_new_length() noexcept; const char* what() const noexcept override; }; }
Класс bad_array_new_length определяет тип объектов, создаваемых реализацией как исключения, чтобы сообщить о попытке выделить массив размером меньше нуля или больше определенного реализацией limit ([expr.new]).
bad_array_new_length() noexcept;
const char* what() const noexcept override;
Remarks: Сообщение может быть null-terminated multibyte string, подходящим для преобразования и отображенным как wstring ([string.classes], [locale.codecvt]).
using new_handler = void (*)();
Тип a, handler function который будет вызываться operator new() or operator new[]() ([new.delete]), когда они не могут удовлетворить запрос на дополнительное хранилище.
Required behavior: A new_handler должен выполнить одно из следующих действий:
new_handler set_new_handler(new_handler new_p) noexcept;
new_handler get_new_handler() noexcept;