Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
 
 
static constexpr void reserve( size_type new_cap );
(seit C++26)

Tut nichts, außer dass möglicherweise std::bad_alloc ausgelöst wird. Die Anforderung, die Kapazität (d.h. die Größe des internen Speichers) zu erhöhen, wird ignoriert, da std::inplace_vector<T, N> ein Container mit fester Kapazität ist.

Inhalt

[bearbeiten] Parameter

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

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Komplexität

Konstant.

[bearbeiten] Ausnahmen

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

[bearbeiten] Hinweise

Diese Funktion existiert zur Kompatibilität mit Vektor-ähnlichen Schnittstellen.

[bearbeiten] 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); // does nothing
    assert(v.capacity() == 4 && v.size() == 3);
 
    try
    {
        v.reserve(13); // throws, because requested capacity > N; v is left unchanged
    }
    catch(const std::bad_alloc& ex)
    {
        std::cout << ex.what() << '\n';
    }
    assert(v.capacity() == 4 && v.size() == 3);
}

Mögliche Ausgabe

std::bad_alloc

[bearbeiten] Siehe auch

Gibt die Anzahl der Elemente zurück
(public member function) [edit]
[static]
Gibt die maximal mögliche Anzahl von Elementen zurück
(public static member function) [edit]
ändert die Anzahl der gespeicherten Elemente
(public member function) [edit]
[static]
Gibt die Anzahl der Elemente zurück, die im derzeit zugewiesenen Speicher gehalten werden können
(public static member function) [edit]
reduziert den Speicherverbrauch durch Freigabe von ungenutztem Speicher
(public static member function) [bearbeiten]