Condividi tramite


hash_map::emplace

[!NOTA]

Questo API è obsoleto.L'alternativa consiste unordered_map Class.

Inserire un elemento costruito sul posto in un hash_map.

template<class ValTy>
    pair <iterator, bool> emplace(
        ValTy&& _Val
);

Parametri

Parametro

Descrizione

_Val

Il valore utilizzato per spostare costrutto un elemento da inserire in hash_map Class a meno che hash_map già contengono tale elemento, o più in generale, un elemento il cui la chiave equivalente è ordinata).

Valore restituito

La funzione membro emplace restituisce una coppia di cui il componente di bool restituisce true se un inserimento sia stato scelto e false se hash_map già contiene un elemento il cui la chiave ha un valore equivalente in ordine e di cui il componente iteratori restituisce l'indirizzo dove un nuovo elemento è stato inserito o in cui l'elemento è già stato individuato.

Per accedere al componente iteratore di una coppia pr restituito dalla funzione membro, utilizzare pr.firste per dereferenziarla, utilizzare *(pr.first).Per accedere al componente bool di una coppia pr restituito dalla funzione membro, utilizzare pr.seconde per dereferenziarla, utilizzare *(pr.second).

Note

hash_map::value_type di un elemento rappresenta una coppia, in modo che il valore di un elemento verrà una coppia ordinata con la prima parte uguale al valore della chiave e la seconda parte uguale al valore dei dati dell'elemento.

A partire da Visual C++ .NET 2003, i membri dei file di intestazione <hash_set> e <hash_map> non sono più nello spazio dei nomi di deviazione standard, ma sono stati spostati nello spazio dei nomi di stdext.Per ulteriori informazioni, vedere lo spazio dei nomi stdext.

Esempio

// hash_map_emplace.cpp
// compile with: /EHsc
#include<hash_map>
#include<iostream>
#include <string>

int main()
{
    using namespace std;
    using namespace stdext;
    hash_map<int, string> hm1;
    typedef pair<int, string> is1(1, "a");

    hm1.emplace(move(is1));
    cout << "After the emplace insertion, hm1 contains:" << endl
      << " " << hm1.begin()->first
      << " => " << hm1.begin()->second
      << endl;
}
  

Requisiti

intestazione: <hash_map>

Stdext diSpazio dei nomi:

Vedere anche

Riferimenti

hash_map Class

Libreria di modelli standard