Partager via


unordered_map::swap

Échange le contenu de deux conteneurs.

void swap(unordered_map& right);

Paramètres

  • right
    Le conteneur à échanger avec.

Notes

La fonction membre permute les commandes d'exécution des instructions entre *this et right.Si unordered_map::get_allocator() == right.get_allocator(), il fait dans le temps fixe, il lève une exception uniquement à la suite de copier l'objet Ctraits stocké du type Tr, et n'invalide pas de référence, un pointeur, ou itérateurs qui indiquent des éléments des deux commandes d'exécution des instructions.Sinon, il exécute plusieurs assignations d'élément et le constructeur appelle proportionnel au nombre d'éléments des deux commandes d'exécution des instructions.

Exemple

 

// std_tr1__unordered_map__unordered_map_swap.cpp 
// compile with: /EHsc 
#include <unordered_map> 
#include <iostream> 
 
typedef std::unordered_map<char, int> Mymap; 
int main() 
    { 
    Mymap c1; 
 
    c1.insert(Mymap::value_type('a', 1)); 
    c1.insert(Mymap::value_type('b', 2)); 
    c1.insert(Mymap::value_type('c', 3)); 
 
// display contents " [c 3] [b 2] [a 1]" 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
    Mymap c2; 
 
    c2.insert(Mymap::value_type('d', 4)); 
    c2.insert(Mymap::value_type('e', 5)); 
    c2.insert(Mymap::value_type('f', 6)); 
 
    c1.swap(c2); 
 
// display contents " [f 6] [e 5] [d 4]" 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
    swap(c1, c2); 
 
// display contents " [c 3] [b 2] [a 1]" 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
    return (0); 
    } 
 
  

Configuration requise

en-tête : <unordered_map>

l'espace de noms : DST

Voir aussi

Référence

<unordered_map>

unordered_map Class

swap Function (unordered_map)