hash_map::emplace
[!POZNÁMKA]
Toto rozhraní API je zastaralé.Alternativou je unordered_map – třída.
Vloží prvek vyrobeno do hash_map místě.
template<class ValTy>
pair <iterator, bool> emplace(
ValTy&& _Val
);
Parametry
Parametr |
Popis |
_Val |
Prvek, který chcete vložit do sestavení hodnota slouží k přesunutí hash_map – třída Pokud hash_map již obsahuje tento prvek (nebo obecněji, element, jehož klíč ekvivalentně objednané). |
Vrácená hodnota
emplace Členské funkce vrátí pár, jehož komponenty bool vrátí true Pokud byla vytvořena vložení a false Pokud hash_map již obsahuje prvek, jehož klíč má ekvivalentní hodnota v pořadí a jejichž součásti iterace vrátí adresu, kdy byl vložen nový prvek nebo element se již nachází.
Chcete-li získat přístup k součásti iterace dvojice pr vrácený tuto členskou funkci, pomocí pr.firsta přistoupit přes ukazatel, pomocí *(pr.first).Přístup bool součást páru pr vrácený tuto členskou funkci, pomocí pr.seconda přistoupit přes ukazatel, pomocí *(pr.second).
Poznámky
hash_map::value_type Prvku je pár, tak, aby hodnoty elementu dvojici objednané s první částky rovnající se hodnota klíče a druhé částky rovnající se hodnoty prvku.
Počínaje Visual C++ .NET 2003, členové <hash_map> a <hash_set> hlavičkové soubory jsou již v oboru názvů std, ale spíše, byly přesunuty do oboru názvů stdext.Další informace naleznete v tématu Obor názvů stdext.
Příklad
// 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;
}
Požadavky
Hlavička: <hash_map>
Obor názvů: stdext