map::emplace
Вставляет построенный элемент в размещение в сопоставление.
template<class ValTy>
pair<iterator, bool> emplace(
ValTy&& _Val
);
Параметры
Параметр |
Описание |
_Val |
Значение элемента, который необходимо вставить в map Class если map уже не будет содержать этот элемент или более общем случае элемент, ключ которого соответствует упорядочен. |
Возвращаемое значение
Функция-член emplace возвращает пару которой компонент bool возвращает значение true, если вставка была выполнена и ложна, если map уже содержит элемент, ключ которого имеет подходящего значения в упорядочение и которого компонент итератора возвращает адрес, куда был вставлен новый элемент или где элемент уже был найден.
Доступ к компоненту итератора пары pr, возвращенные этим функцией-членом, использующих pr.first и разыменовать его использование *(pr.first).Доступ к компоненту bool пары pr, возвращаемых этим функцией-членом, использует pr.second.
Заметки
value_type элемента пары, так как значение элемента упорядоченной ключом с первым компонентом равно значению ключа и вторым компонентом равно значению данных элемента.
Пример
// map_emplace.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
#include <string>
int main( ) {
using namespace std;
map<int, string> m1;
pair<int, string> is1(1, "a");
m1.emplace(move(is1));
cout << "After the emplace insertion, m1 contains:" << endl
<< " " << m1.begin()->first
<< " => " << m1.begin()->second
<< endl;
}
Output
After the emplace insertion, m1 contains:
1 => a
Требования
заголовок: <map>
std пространство имен: