Spec-Zone.ru › C++

std::forward_list<T,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 <forward_list>

int main()
{
    std::forward_list<char> p;
    std::forward_list<long> 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() = 1,152,921,504,606,846,975 = 0xFFF,FFF,FFF,FFF,FFF
q.max_size() = 1,152,921,504,606,846,975 = 0xFFF,FFF,FFF,FFF,FFF

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/forward_list/max_size

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API