X Tutup
The Wayback Machine - https://web.archive.org/web/20220123134036/https://en.cppreference.com/w/cpp/container/map/max_size
Namespaces
Variants
Views
Actions

std::map<Key,T,Compare,Allocator>::max_size

From cppreference.com
< cpp‎ | container‎ | map
 
 
Containers library
Sequence
(C++11)
Associative
Unordered associative
Adaptors
Views
(C++20)
 
 
size_type max_size() const;
(until C++11)
size_type max_size() const noexcept;
(since C++11)

Returns the maximum number of elements the container is able to hold due to system or library implementation limitations, i.e. std::distance(begin(), end()) for the largest container.

Contents

[edit] Parameters

(none)

[edit] Return value

Maximum number of elements.

[edit] Complexity

Constant.

[edit] Notes

This value typically reflects the theoretical limit on the size of the container, at most std::numeric_limits<difference_type>::max(). At runtime, the size of the container may be limited to a value smaller than max_size() by the amount of RAM available.

[edit] Example

#include <iostream>
#include <map>
 
const char* separate(unsigned long long n)
{
    static char buf[64];
 
    int i{sizeof(buf) - 1}, j{};
    buf[i] = '\0';
 
    do {
        buf[--i] = '0' + (n % 10);
        if (j++ % 3 == 2)
            buf[--i] = '\'';
    } while (n /= 10);
 
    return buf + i + (buf[i] == '\'' ? 1 : 0);
}
 
int main()
{
    std::map<char,char> s;
    std::cout << "Maximum size of a 'map' is " << separate(s.max_size()) << "\n";
}

Possible output:

Maximum size of a 'map' is 576'460'752'303'423'487

See also

returns the number of elements
(public member function) [edit]
X Tutup