Aracılığıyla paylaş


unordered_map::swap

İki kapsayıcı içeriğini değiştirir.

void swap(unordered_map& right);

Parametreler

  • right
    İle takas etmek için kapsayıcı.

Notlar

Üye işlevi arasında kontrollü serileri değiştirir *this ve right.unordered_map::get_allocator() == right.get_allocator(), Bunu sabit süre yapar, yalnızca tür saklı Nitelikler nesnesi kopyalama sonucunda bir istisna atar Tr, ve hiçbir başvuruları, işaretçileri veya kontrollü iki numara serileri öğelerini atamak Yineleyicilerde geçersiz kılar.Aksi takdirde, çok sayıda öğeyi atamalar ve öğe sayısına orantılı oluşturucu çağrıları iki kontrollü sıralarında gerçekleştirir.

Örnek

 

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

Gereksinimler

Başlık: <unordered_map>

Namespace: std

Ayrıca bkz.

Başvuru

<unordered_map>

unordered_map Class

swap Function (unordered_map)