unordered_map::insert
Wstawia element lub zakres elementów do unordered_map.
// (1) single element pair<iterator, bool> insert( const value_type& Val ); // (2) single element, perfect forwarded template<class ValTy> pair<iterator, bool> insert( ValTy&& Val ); // (3) single element with hint iterator insert( const_iterator Where, const value_type& Val ); // (4) single element, perfect forwarded, with hint template<class ValTy> iterator insert( const_iterator Where, ValTy&& Val ); // (5) range template<class InputIterator> void insert( InputIterator First, InputIterator Last ); // (6) initializer list void insert( initializer_list<value_type> IList );
Parametry
Parametr |
Opis |
Val |
Wartość elementu ma zostać wstawiony do unordered_map, o ile nie zawiera już element ekwiwalentnie porządkowania której klucz. |
Where |
Miejsce, aby rozpocząć wyszukiwanie poprawne punkt wstawienia. |
ValTy |
Parametr szablonu, który określa typ argumentu, który unordered_map służy do konstruowania elementu value_typei doskonałą przodu Val jako argumentu. |
First |
Pozycja pierwszego elementu do skopiowania. |
Last |
Pozycja poza ostatni element do skopiowania. |
InputIterator |
Argument funkcji szablonu, który spełnia wymagania input sterująca wskazujące elementy typu, który może służyć do konstruowania value_type obiektów. |
IList |
Initializer_list z której mają być kopiowane elementy. |
Wartość zwracana
Funkcje pojedynczy element członkowski (1) i (2) zwraca para którego bool składnik jest wartość true, jeśli wstawienie został utworzony, a wartość false, jeśli unordered_map już zawiera element, której klucz ma wartość równoważną w kolejności.Składnik sterująca pary wartość zwracaną wskazuje nowo wstawiony element Jeśli bool składnik jest wartość PRAWDA lub do istniejącego elementu Jeśli bool składnik ma wartość false.
Funkcje elementu członkowskiego pojedynczego elementu z wskazówkę, [3] i [4], zwracać iterację wskazujące położenie nowego elementu wstawiono do unordered_map lub, jeśli element z kluczem równoważne już istnieje, do istniejącego elementu.
Uwagi
Nie Iteratory, wskaźniki lub odwołania są unieważnienie tej funkcji.
Podczas wstawiania tylko jednego elementu jeśli wyjątek zgłaszany, ale nie występuje w kontenerze funkcji skrótu, stan kontenera nie jest modyfikowany.Jeśli wyjątek zgłaszany w funkcji skrótu, wynikiem jest niezdefiniowana.Podczas wstawiania wiele elementów jeśli wyjątek kontenera pozostanie nieokreślony, ale nieprawidłowy stan.
To access the iterator component of a pairpr that's returned by the single-element member functions, use pr.first; to dereference the iterator within the returned pair, use *pr.first, giving you an element.Aby dostęp bool składników, użyj pr.second.Na przykład zobacz przykładowego kodu w tym artykule.
Value_type kontenera jest typedef, którego należy do kontenera i mapy, map<K, V>::value_type jest pair<const K, V>.Wartość elementu jest uporządkowaną pary, w którym pierwszy składnik jest taki sam, jak wartość klucza, a drugi składnik jest taki sam, jak wartość elementu danych.
Funkcja elementu członkowskiego zakresu [5] wstawia sekwencję wartości elementów do unordered_map umożliwiająca każdy element zlikwidowane poprzez iterację w zakresie [First, Last); w związku z tym Last nie uzyskać wstawiony.Funkcja elementu członkowskiego kontenera end() odwołuje się do pozycji po ostatnim elemencie w kontenerze — na przykład instrukcji m.insert(v.begin(), v.end()); podejmuje próbę wstawienia wszystkie elementy v do m.Dodaje są tylko elementy, które mają unikatowe wartości z zakresu; zduplikowane nazwy są ignorowane.Do przestrzegania, elementy, które zostały odrzucone, użyj wersji pojedynczy element insert.
(6) jest używana funkcja inicjatora członka listy initializer_list skopiować elementy do unordered_map.
Do wstawienia elementu skonstruowane w miejscu, oznacza to, że są wykonywane żadnych operacji kopiowania i przenoszenia — zobacz unordered_map::emplace i unordered_map::emplace_hint.
Aby uzyskać przykład kodu, zobacz map::insert.
Wymagania
Nagłówek: < unordered_map >
Przestrzeń nazw: std