std::allocator_traits<Alloc>::max_size
Определено в заголовке <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++.
| DR | Применимо к | Поведение, как опубликовано | Корректное поведение |
|---|---|---|---|
| LWG 2162 | C++11 |
max_size не должно было быть noexcept | требовалось |
| LWG 2466 | C++11 | теоретический максимальный размер выделения в байтах возвращался в качестве резервного варианта | возвращается размер в элементах |
См. также
|
(до C++20) | возвращает максимальный поддерживаемый размер выделения (общедоступный член-функция std::allocator<T>) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/allocator_traits/max_size