std::vector<T,Allocator>::max_size
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Containers library
(C++17)
(C++11)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++23)
(C++23)
(C++20)
(C++23)
Tables
std::vector
(C++23)
(C++11)
(C++11)
(C++11)
(C++11)
vector::max_size
(DR*)
(C++23)
(C++23)
(C++11)
(C++11)
(C++20)
(C++20)(C++20)
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)
Deduction guides (C++17)
size_type max_size() const;
(noexcept since C++11) (constexpr since C++20)
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] 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
Run this code
#include <iostream> #include <locale> #include <vector> int main() { std::vector <char> p; std::vector <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'; }
Possible output:
p.max_size() = 9,223,372,036,854,775,807 = 0x7,FFF,FFF,FFF,FFF,FFF q.max_size() = 1,152,921,504,606,846,975 = 0xFFF,FFF,FFF,FFF,FFF