map::emplace_hint
Вставляет построенный элемент в размещение в сопоставление с подсказкой размещения.
template<class ValTy>
pair<iterator, bool> emplace_hint(
const_iterator _Where,
ValTy&& _Val
);
Параметры
Параметр |
Описание |
_Val |
Значение элемента, который необходимо вставить в map Class если map уже не будет содержать этот элемент или более общем случае элемент, ключ которого соответствует упорядочен. |
_Where |
Подсказка относительно размещения, чтобы начать поиск правильного точки вставки. |
Возвращаемое значение
Функция-член map::emplace возвращает пару которой компонент bool возвращает значение true, если вставка была выполнена и ложна, если map уже содержит элемент, ключ которого имеет подходящего значения в упорядочение и которого компонент итератора возвращает адрес, куда был вставлен новый элемент или где элемент уже был найден.
Доступ к компоненту итератора пары pr, возвращенные этим функцией-членом, использующих pr.first и разыменовать его использование *(pr.first).Доступ к компоненту bool пары pr, возвращаемых этим функцией-членом, использует pr.second.
Заметки
value_type элемента пары, так как значение элемента упорядоченной ключом с первым компонентом равно значению ключа и вторым компонентом равно значению данных элемента.
Пример
// map_emplace_hint.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(m1.begin(), 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 пространство имен: