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


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 пространство имен:

См. также

Ссылки

map Class

Стандартная библиотека шаблонов