Пространства имён
Варианты
Действия

std::bad_array_new_length

Материал из cppreference.com
< cpp‎ | memory‎ | new

 
 
 
 
Низкий уровень управления памятью
Функции
Оригинал:
Functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
operator new
operator new[]
operator delete
operator delete[]
get_new_handler(C++11)
set_new_handler
Классы
Оригинал:
Classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
bad_alloc
bad_array_new_length(C++11)
nothrow_t
Типы
Оригинал:
Types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
new_handler
Objects
Оригинал:
Objects
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
nothrow
 
std::bad_array_new_length
Функции-члены
bad_array_new_length::bad_array_new_length
Унаследованные от std::exception
Оригинал:
Inherited from std::exception
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
exception::~exception
exception::what
 
Определено в заголовочном файле <new>
class bad_array_new_length;
(начиная с C++11)

std::bad_array_new_length is the type of the object thrown as exceptions by the новых выражений to report invalid array lengths if

1) array length is negative

2) total size of the new array would exceed implementation-defined maximum value

3) the number of initializer-clauses exceeds the number of elements to initialize

Only the first array dimension may generate this exception; dimensions other than the first are constant expressions and are checked at compile time.

cpp/error/exceptioncpp/memory/new/bad allocstd-bad array new length-inheritance.svg
Описание изображения

Диаграмма наследования

Содержание

[править] Функции-члены

строит bad_array_new_length объекта
Оригинал:
constructs the bad_array_new_length object
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член)

Унаследован от std::bad_alloc

Унаследован от std::exception

Member functions

[virtual]
уничтожает объект исключения
(virtual public std::exception функция-член) [edit]
[virtual]
возвращает строку-пояснение
(virtual public std::exception функция-член) [edit]

[править] Заметки

The override for the virtual member function what() may by provided, but is not required.

[править] Пример

Three conditions where std::bad_array_new_length should be thrown:

#include <iostream>
#include <new>
#include <climits>
 
int main()
{
    int negative = -1;
    int small = 1;
    int large = INT_MAX;
    try {
        new int[negative];           // negative size
        new int[small]{1,2,3};       // too many initializers
        new int[large][1000000];     // too large
    } catch(const std::bad_array_new_length &e) {
        std::cout << e.what() << '\n';
    }
}


[править] См. также

Распределение функций
Оригинал:
allocation functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [edit]
исключение, когда на выделение памяти
Оригинал:
exception thrown when memory allocation fails
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(класс) [edit]