Namespaces
Variants

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

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

Tut nichts, außer dass möglicherweise std::bad_alloc geworfen wird. Die Anforderung zur Erhöhung der Kapazität (d.h. der internen Speichergröße) wird ignoriert, da std:: inplace_vector < T, N > ein Container mit fester Kapazität ist.

Inhaltsverzeichnis

Parameter

new_cap - neue Kapazität des inplace_vector , in Anzahl der Elemente

Rückgabewert

(keine)

Komplexität

Konstante.

Ausnahmen

std::bad_alloc wenn new_cap > capacity ( ) ist true .

Hinweise

Diese Funktion existiert aus Kompatibilitätsgründen mit vektorähnlichen Schnittstellen.

Beispiel

#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); // macht nichts
    assert(v.capacity() == 4 && v.size() == 3);
    try
    {
        v.reserve(13); // wirft Exception, weil angeforderte Kapazität > N; v bleibt unverändert
    }
    catch(const std::bad_alloc& ex)
    {
        std::cout << ex.what() << '\n';
    }
    assert(v.capacity() == 4 && v.size() == 3);
}

Mögliche Ausgabe:

std::bad_alloc

Siehe auch

gibt die Anzahl der Elemente zurück
(öffentliche Elementfunktion)
[static]
gibt die maximal mögliche Anzahl von Elementen zurück
(öffentliche statische Elementfunktion)
ändert die Anzahl der gespeicherten Elemente
(öffentliche Elementfunktion)
[static]
gibt die Anzahl der Elemente zurück, die im aktuell allozierten Speicher Platz finden
(öffentliche statische Elementfunktion)
reduziert die Speichernutzung durch Freigabe ungenutzten Speichers
(öffentliche statische Elementfunktion)