Freigeben über


unordered_set::swap

Vertauscht den Inhalt von zwei Containern.

void swap(unordered_set& right);

Parameter

  • right
    Der Container, mit auszutauschen.

Hinweise

Die Memberfunktion tauscht die gesteuerten Sequenzen zwischen *this und right aus. Wenn unordered_set::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_set__unordered_set_swap.cpp 
// compile with: /EHsc 
#include <unordered_set> 
#include <iostream> 
 
typedef std::unordered_set<char> Myset; 
int main() 
    { 
    Myset c1; 
 
    c1.insert('a'); 
    c1.insert('b'); 
    c1.insert('c'); 
 
// display contents " [c] [b] [a]" 
    for (Myset::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << *it << "]"; 
    std::cout << std::endl; 
 
    Myset c2; 
 
    c2.insert('d'); 
    c2.insert('e'); 
    c2.insert('f'); 
 
    c1.swap(c2); 
 
// display contents " [f] [e] [d]" 
    for (Myset::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << *it << "]"; 
    std::cout << std::endl; 
 
    swap(c1, c2); 
 
// display contents " [c] [b] [a]" 
    for (Myset::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << *it << "]"; 
    std::cout << std::endl; 
 
    return (0); 
    } 
 
  

Anforderungen

Header: <unordered_set>

Namespace: std

Siehe auch

Referenz

<unordered_set>

unordered_set-Klasse

swap-Funktion (unordered_set)

Weitere Ressourcen

<unordered_set> Member