std::vector::max_size(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’– NAME πŸ’–

Okay bestie, welcome to std::vector::max_size(3) from the C++ Standard Libary manual β€” yes, "Libary," that's literally how it's spelled in the header, we're keeping it. The NAME section is just std::vector::max_size - std::vector::max_size, which is minimal, iconic, and honestly kind of a mood.


✨ Synopsis ✨

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.

πŸŽ€ Parameters πŸŽ€

(none) β€” not a single parameter. She takes nothing and still serves.

πŸ’… Return value πŸ’…

Maximum number of elements. That's it. Maximum. Number. Of. Elements. Periodt.

⚑ Complexity ⚑

Constant. O(1), no cap.

🧠 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.

So like, max_size() is the theoretical dream πŸ’­, but your actual RAM can humble her at runtime. Important distinction, iykyk.

πŸ–₯️ Example πŸ–₯️

Run this code, bestie:

// 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

πŸ” See also πŸ”

  • size β€” returns the number of elements (public member function)
  • capacity β€” returns the number of elements that can be held in currently allocated storage (public member function)

xoxo, your Unix bestie πŸ’– β€” source: http://cppreference.com, version/date: 2024.06.10, page: std::vector::max_size(3).

πŸ“¦ where this page comes from