std::map<Key,T,Compare,Allocator>::max_size
size_type max_size() const; | (noexcept начиная с C++11) |
Возвращает максимальное количество элементов, которое контейнер может вместить из-за ограничений системы или реализации библиотеки, т. е. std::distance(begin(), end()) для контейнера наибольшего размера.
Возвращаемое значение
Максимальное количество элементов.
Сложность
Постоянная.
Примечания
Это значение обычно отражает теоретический предел размера контейнера, не превышающий std::numeric_limits<difference_type>::max(). Во время выполнения размер контейнера может быть ограничен значением меньшим, чем max_size(), из-за доступного объёма оперативной памяти.
Пример
#include <iostream>
#include <locale>
#include <map>
int main()
{
std::map<char, char> p;
std::map<long, char> q;
std::cout.imbue(std::locale("en_US.UTF-8"));
std::cout << std::uppercase
<< "p.max_size() = " << std::dec << p.max_size() << " = 0x"
<< std::hex << p.max_size() << '\n'
<< "q.max_size() = " << std::dec << q.max_size() << " = 0x"
<< std::hex << q.max_size() << '\n';
}
Возможный вывод:
p.max_size() = 461,168,601,842,738,790 = 0x666,666,666,666,666 q.max_size() = 384,307,168,202,282,325 = 0x555,555,555,555,555
См. также
| возвращает количество элементов (публичная функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/map/max_size