multimap::emplace
inserta un elemento construido en el lugar en un multimap.
template<class ValTy>
pair<iterator, bool> emplace(
ValTy&& _Val
);
Parámetros
Parámetro |
Descripción |
_Val |
El valor de un elemento en multimap Class a menos que multimap ya contiene ese elemento o, más general, un elemento cuya clave equivalente se ordena. |
Valor devuelto
La función miembro de emplace devuelve un par cuyo componente bool devuelve true si una inserción fue creada y false si la asignación ya contenía un elemento cuya clave tenía un valor equivalente en orden, y cuyo componente de iterador devuelve la dirección donde un nuevo elemento se ha insertado o donde el elemento se ha adaptado ya.
Para tener acceso al componente de iterador de un par pr devuelto por esta función miembro, utilice pr.first, y desreferenciarlo, utilice *(pr.first).Para tener acceso al componente de bool de un par pr devuelto por esta función miembro, utilice pr.second.
Comentarios
multimap::value_type de un elemento es par, de modo que el valor de un elemento es un par petición con el primer componente igual al valor de clave y el segundo componente igual al valor de los datos de elemento.
Ejemplo
// multimap_emplace.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
#include <string>
int main( ) {
using namespace std;
multimap<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
Requisitos
encabezado: <Asignar>
espacio de nombres: std