Namespaces
Variants

std::inplace_vector<T,N>:: reserve

From cppreference.net
static constexpr void reserve ( size_type new_cap ) ;
(desde C++26)

No hace nada, excepto que puede lanzar std::bad_alloc . La solicitud para aumentar la capacidad (es decir, el tamaño interno de almacenamiento) es ignorada porque std:: inplace_vector < T, N > es un contenedor de capacidad fija.

Contenidos

Parámetros

new_cap - nueva capacidad del inplace_vector , en número de elementos

Valor de retorno

(ninguno)

Complejidad

Constante.

Excepciones

std::bad_alloc si new_cap > capacity ( ) es true .

Notas

Esta función existe para compatibilidad con interfaces tipo vector.

Ejemplo

#include <cassert>
#include <inplace_vector>
#include <iostream>
int main()
{
    std::inplace_vector<int, 4> v{1, 2, 3};
    assert(v.capacity() == 4 && v.size() == 3);
    v.reserve(2); // no hace nada
    assert(v.capacity() == 4 && v.size() == 3);
    try
    {
        v.reserve(13); // lanza excepción, porque capacidad solicitada > N; v permanece sin cambios
    }
    catch(const std::bad_alloc& ex)
    {
        std::cout << ex.what() << '\n';
    }
    assert(v.capacity() == 4 && v.size() == 3);
}

Salida posible:

std::bad_alloc

Véase también

devuelve el número de elementos
(función miembro pública)
[static]
devuelve el número máximo posible de elementos
(función miembro estática pública)
cambia el número de elementos almacenados
(función miembro pública)
[static]
devuelve el número de elementos que pueden almacenarse en la memoria actualmente asignada
(función miembro estática pública)
reduce el uso de memoria liberando memoria no utilizada
(función miembro estática pública)