std::allocator_traits::max_size
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
| Определено в заголовочном файле <memory>
|
||
static size_type max_size( const Alloc& a ) noexcept; |
(начиная с C++11) (до C++20) |
|
static constexpr size_type max_size( const Alloc& a ) noexcept; |
(начиная с C++20) | |
Если возможно, получает максимально теоретически возможный размер выделения из аллокатора a, вызывая a.max_size().
Если вышеуказанное невозможно (например, Alloc не имеет функции-элемента max_size()), то возвращает std::numeric_limits<size_type>::max() / sizeof(value_type).
Параметры
| a | — | аллокатор для определения |
Возвращаемое значение
Теоретический максимальный размер распределения.
Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 2162 | C++11 | max_size не обязательно должна быть noexcept
|
требуется |
| LWG 2466 | C++11 | теоретический максимальный размер выделения в байтах возвращался в качестве запасного варианта |
возвращается размер в элементах |
Смотрите также
(до C++20) |
возвращает наибольший поддерживаемый размер распределения (public функция-элемент std::allocator)
|