Namespaces
Variants

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

From cppreference.net

size_type capacity ( ) const ;
(noexcept desde C++11)
(constexpr desde C++20)

Devuelve el número de elementos para los que el contenedor tiene actualmente espacio asignado.

Contenidos

Parámetros

(ninguno)

Valor de retorno

Capacidad del almacenamiento actualmente asignado.

Complejidad

Constante.

Ejemplo

#include <iomanip>
#include <iostream>
#include <vector>
int main()
{
    int sz = 100;
    std::vector<int> v;
    auto cap = v.capacity();
    std::cout << "Tamaño inicial: " << v.size() << ", capacidad: " << cap << '\n';
    std::cout << "\nDemostrar la política de crecimiento de la capacidad."
                 "\nTamaño:  Capacidad:  Proporción:\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 << "\nTamaño final: " << v.size() << ", capacidad: " << v.capacity() << '\n';
}

Salida posible:

Tamaño inicial: 0, capacidad: 0
Demostrar la política de crecimiento de la capacidad.
Tamaño:  Capacidad:  Proporción:
1      1          inf
2      2          2
3      4          2
5      8          2
9      16         2
17     32         2
33     64         2
65     128        2
Tamaño final: 100, capacidad: 128

Véase también

devuelve el número de elementos
(función miembro pública)
reserva almacenamiento
(función miembro pública)