Поделиться через


unordered_multimap::insert

Вставляет элемент или диапазон элементов в unordered_multimap.

// (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 ); 

Параметры

Параметр

Описание

Val

Значение элемента, вставляемого в unordered_multimap.

Where

Место начала поиска правильной точки вставки.

ValTy

Параметр шаблона, определяющий тип аргумента, с помощью которого unordered_multimap формирует элемент типа value_type и точно пересылает Val как аргумент.

First

Позиция первого элемента, который следует скопировать.

Last

Позиция непосредственно перед последним элементом, который следует скопировать.

InputIterator

Аргумент функции-шаблона, который соответствует требованиям итератора ввода, указывающего на элементы типа, которые можно использовать для создания объектов value_type.

IList

Объект initializer_list, из которого копируются элементы.

Возвращаемое значение

Одноэлементные функции-члены (1) и (2) возвращают итератор в позиции, где был вставлен новый элемент.

Одноэлементные функции-члены с подсказкой (3) и (4) возвращают итератор, указывающий на позицию, где был вставлен новый элемент.

Заметки

Эта функция не делает никакие указатели или ссылки недействительными, но она может сделать недействительными все итераторы контейнера.

Если исключение вызывается во время вставки одного элемента, но оно не вызывается в хэш-функции контейнера, состояние контейнера не изменяется. Если исключение вызывается в хэш-функции, результат не определен. Если во время вставки нескольких элементов вызывается исключение, контейнер остается в неопределенном, но допустимом состоянии.

value_type контейнера — это определение типа, которое принадлежит контейнеру, а для сопоставления map<K, V>::value_type — это pair<const K, V>. Значение элемента — это упорядоченная пара, в которой первый компонент эквивалентен значению ключа, а второй компонент — значению данных элемента.

Функция-член с диапазоном (5) вставляет последовательность значений элементов в unordered_multimap, соответствующее каждому элементу, адресованному итератором в диапазоне [First, Last). Следовательно, Last не вставляется. Контейнер функции-члена end() ссылается на позицию сразу после последнего элемента в контейнере. Например, оператор m.insert(v.begin(), v.end()); пытается вставить все элементы v в m.

Функция-член списка инициализаторов (6) использует initializer_list для копирования элементов в unordered_multimap.

Сведения о вставке элемента, созданного на месте (т. е. без выполнения операций копирования или перемещения), см. в описании функций unordered_multimap::emplace и unordered_multimap::emplace_hint.

Пример кода см. в разделе multiset::insert.

Требования

Заголовок: <unordered_map>

Пространство имен: std

См. также

Ссылки

<unordered_map>

Класс unordered_multimap

Библиотека стандартных шаблонов