std::flat_multiset<Key,Compare,KeyContainer>:: emplace
|
template
<
class
...
Args
>
iterator emplace ( Args && ... args ) ; |
(seit C++23)
(constexpr seit C++26) |
|
Fügt ein neues Element in den Container ein, das direkt mit den gegebenen args erstellt wird.
First, initializes an object t of type
value_type
with
std::
forward
<
Args
>
(
args
)
...
, then inserts
t
as if by
auto it = ranges::upper_bound(c, t, compare); c.insert(it, std::move(t));
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: is_constructible_v < value_type, Args... > true ist.
Wenn
value_type
nicht
EmplaceConstructible
in
flat_multiset
aus
args
ist, ist das Verhalten undefiniert.
| Informationen zur Iterator-Invalidierung sind kopiert von hier |
Inhaltsverzeichnis |
Parameter
| args | - | Argumente, die an den Konstruktor des Elements weitergeleitet werden |
Rückgabewert
Ein Iterator auf das eingefügte Element.
Exceptions
Wenn aus irgendeinem Grund eine Exception ausgelöst wird, hat diese Funktion keine Wirkung ( strong exception safety guarantee ).
Komplexität
Logarithmisch in der Größe des Containers.
Hinweise
Sorgfältige Verwendung von
emplace
ermöglicht die Konstruktion des neuen Elements, während unnötige Kopier- oder Verschiebeoperationen vermieden werden.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
Konstruiert Elemente direkt mit Hinweis
(öffentliche Elementfunktion) |
|
|
Fügt Elemente ein
(öffentliche Elementfunktion) |