17 Language support library [language.support]

17.6 Dynamic memory management [support.dynamic]

17.6.3 Storage allocation errors [alloc.errors] Class bad_­alloc [bad.alloc]

namespace std {
  class bad_alloc : public exception {
    bad_alloc() noexcept;
    bad_alloc(const bad_alloc&) noexcept;
    bad_alloc& operator=(const bad_alloc&) noexcept;
    const char* what() const noexcept override;
The class bad_­alloc defines the type of objects thrown as exceptions by the implementation to report a failure to allocate storage.
const char* what() const noexcept override;
Returns: An implementation-defined ntbs.
Remarks: The message may be a null-terminated multibyte string, suitable for conversion and display as a wstring ([string.classes], [locale.codecvt]).