Freigeben über


swap

Die erste Überschreibung tauscht die Werte von zwei Objekten aus. Die zweiten Überschreiben tauscht die Werte zwischen zwei Objekten aus.

template<class Type>
   void swap(
      Type& _Left, 
      Type& _Right
   );
template<class Type, size_t N>
   void swap(
      Type (&_Left)[N],
      Type (&_Right)[N]
   );

Parameter

  • _Left
    Für die erste Überschreibung das erste Objekt seinen Inhalt austauschen können. Für die zweite Überschreibung das erste Objektarray seinen Inhalt austauschen können.

  • _Right
    Für die erste Überschreibung das zweite Objekt seinen Inhalt austauschen können. Für die zweite Überschreibung das zweite Objektarray seinen Inhalt austauschen können.

Hinweise

Die erste Überladung ist so konzipiert, dass einzelne Objekte angewendet werden. Die zweite Überladung tauscht den Inhalt von Objekten zwischen zwei Arrays aus.

Beispiel

// alg_swap.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <iostream>

int main( ) 
{
   using namespace std;
   vector <int> v1, v2;
   vector <int>::iterator Iter1, Iter2, result;

   for ( int i = 0 ; i <= 10 ; i++ )
   {
      v1.push_back( i );
   }

   for ( int ii = 0 ; ii <= 4 ; ii++ )
   {
      v2.push_back( 5 );
   }

   cout << "Vector v1 is ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")." << endl;

   cout << "Vector v2 is ( " ;
   for ( Iter2 = v2.begin( ) ; Iter2 != v2.end( ) ; Iter2++ )
      cout << *Iter2 << " ";
   cout << ")." << endl;

   swap( v1, v2 );

   cout << "Vector v1 is ( " ;
   for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
      cout << *Iter1 << " ";
   cout << ")." << endl;

   cout << "Vector v2 is ( " ;
   for ( Iter2 = v2.begin( ) ; Iter2 != v2.end( ) ; Iter2++ )
      cout << *Iter2 << " ";
   cout << ")." << endl;
}
  

Anforderungen

Header: <algorithm>

Namespace: std

Siehe auch

Referenz

Standardvorlagenbibliothek