# std::vector<T,Allocator>::capacity

From cppreference.com
< cpp‎ | container‎ | vector

size_type capacity() const; |  | (until C++11)
size_type capacity() const noexcept; |  | (since C++11) (until C++20)
constexpr size_type capacity() const noexcept; |  | (since C++20)

Returns the number of elements that the container has currently allocated space for.

### Parameters

(none)

### Return value

Capacity of the currently allocated storage.

### Complexity

Constant.

### Example

Run this code

    #include <iomanip>
    #include <iostream>
    #include <vector>

    int main()
    {
        int sz = 100;
        std::vector<int> v;

        auto cap = v.capacity();
        std::cout << "Initial size: " << v.size() << ", capacity: " << cap << '\n';

        std::cout << "\nDemonstrate the capacity's growth policy."
                     "\nSize:  Capacity:  Ratio:\n" << std::left;
        while (sz-- > 0) {
            v.push_back(sz);
            if (cap != v.capacity()) {
                std::cout << std::setw( 7) << v.size()
                          << std::setw(11) << v.capacity()
                          << std::setw(10) << v.capacity() / static_cast<float>(cap) << '\n';
                cap = v.capacity();
            }
        }

        std::cout << "\nFinal size: " << v.size() << ", capacity: " << v.capacity() << '\n';
    }

Possible output:

    Initial size: 0, capacity: 0

    Demonstrate the capacity's growth policy.
    Size:  Capacity:  Ratio:
    1      1          inf
    2      2          2
    3      4          2
    5      8          2
    9      16         2
    17     32         2
    33     64         2
    65     128        2

    Final size: 100, capacity: 128

### See also

size | returns the number of elements (public member function)
reserve | reserves storage (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/vector/capacity&oldid=94075"