Freigeben über


unordered_map::swap

Vertauscht den Inhalt von zwei Containern.

void swap(unordered_map& right);

Parameter

  • right
    Der Container, mit auszutauschen.

Hinweise

Die Memberfunktion tauscht die gesteuerten Sequenzen zwischen *this und right aus. Wenn unordered_map::get_allocator() == right.get_allocator(), es so in der konstanten Zeit hat, löst sie eine Ausnahme nur infolge des Kopierens gespeicherten Merkmalsobjekts des Typs Tr aus, und macht keine Verweise, Zeiger und Iteratoren ungültig die Elemente in beiden Sequenzen gesteuerten festlegen. Andernfalls führt einige Element-Zuweisungen aus und Konstruktor ruft proportional zur Anzahl der Elemente in beiden Sequenzen gesteuerten auf.

Beispiel

 

// 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); 
    } 
 
  

Anforderungen

Header: <unordered_map>

Namespace: std

Siehe auch

Referenz

<unordered_map>

unordered_map-Klasse

swap-Funktion (unordered_map)