Namespaces
Variants

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

From cppreference.net
template < class ... Args >
constexpr reference unchecked_emplace_back ( Args && ... args ) ;
(seit C++26)

Fügt ein neues Element am Ende des Containers an. Typischerweise wird das Element mittels Placement- new direkt an der vom Container bereitgestellten Position konstruiert. Die Argumente args... werden an den Konstruktor als std:: forward < Args > ( args ) ... weitergeleitet. Entspricht return * try_emplace_back ( std:: forward < Args > ( args ) ... ) ; .

Vor dem Aufruf dieser Funktion muss size ( ) < capacity ( ) true sein. Andernfalls ist das Verhalten undefiniert.

Keine Iteratoren oder Referenzen werden ungültig, außer end() , welches ungültig wird, wenn die Einfügung stattfindet.

Inhaltsverzeichnis

Parameter

args - Argumente, die an den Konstruktor des Elements weitergeleitet werden
Typanforderungen
-
T muss EmplaceConstructible in inplace_vector aus std:: forward < Args > ( args ) ... sein.

Rückgabewert

back() , d.h. eine Referenz auf das eingefügte Element.

Komplexität

Konstante.

Ausnahmen

Jede Ausnahme, die durch die Initialisierung des eingefügten Elements ausgelöst wird. Wenn aus irgendeinem Grund eine Ausnahme ausgelöst wird, hat diese Funktion keine Auswirkung ( strong exception safety guarantee ).

Hinweise

Beispiel

#include <inplace_vector>
#include <new>
#include <print>
#include <string>
#include <utility>
int main()
{
    std::inplace_vector<std::pair<std::string, std::string>, 2> fauna;
    std::string dog{"\N{DOG}"};
    fauna.unchecked_emplace_back("\N{CAT}", dog);
    fauna.unchecked_emplace_back("\N{CAT}", std::move(dog));
    std::println("fauna = {}", fauna);
    // fauna.unchecked_emplace_back("BUG", "BUG"); // undefined behavior: no space
}

Ausgabe:

fauna = [("🐈", "🐕"), ("🐈", "🐕")]

Siehe auch

Konstruiert ein Element direkt am Ende
(öffentliche Elementfunktion)
fügt einen Bereich von Elementen am Ende hinzu
(öffentliche Elementfunktion)
fügt ein Element am Ende hinzu
(öffentliche Elementfunktion)
versucht, ein Element am Ende hinzuzufügen
(öffentliche Elementfunktion)
versucht, ein Element direkt am Ende zu konstruieren
(öffentliche Elementfunktion)
versucht, einen Bereich von Elementen am Ende hinzuzufügen
(öffentliche Elementfunktion)
fügt bedingungslos ein Element am Ende hinzu
(öffentliche Elementfunktion)
entfernt das letzte Element
(öffentliche Elementfunktion)
erstellt einen std::back_insert_iterator vom vom Argument abgeleiteten Typ
(Funktionstemplate)