unordered_set::emplace
ajoute un élément construit en place.
template<class ValTy>
pair<iterator, bool> emplace(ValTy&& val);
Paramètres
Paramètre |
Description |
ValTy |
le type d'argument sur place de constructeur. |
val |
valeur à insérer. |
Notes
la fonction membre détermine si un élément X existe dans la séquence dont la clé a classer équivalent à celui d' val.sinon, il construit un tel élément X avec val.La fonction détermine l'itérateur where qui indique X.Si une insertion s'est produite, la fonction retourne std::pair(where, true).Sinon, il retourne std::pair(where, false).
Si une exception est levée pendant la mise en place d'un seul élément, le conteneur reste inchangé et l'exception est à nouveau levée.Si une exception est levée pendant la mise en place de plusieurs éléments, le conteneur est laissé dans un stable mais l'état non spécifiée et l'exception est à nouveau levée.
Exemple
// std_tr1__unordered_set__unordered_set_emplace.cpp
// compile with: /EHsc
#include <unordered_set>
#include <iostream>
#include <string>
int main()
{
unordered_set< string> c1;
string str1("a");
c1.emplace(move(str1));
cout << "After the emplace insertion, c1 contains: "
<< *c1.begin() << endl;
return (0);
}
Configuration requise
en-tête : <unordered_set>
l'espace de noms : type