Sdílet prostřednictvím


swap

První přepsání výměny hodnot dvou objektů.Druhé přepsání výměny hodnot mezi dvě pole objektů.

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

Parametry

  • _Left
    Pro první přepis první objekt mít jeho obsah vyměňovat.Pro druhé přepsání první pole objektů mít jeho obsah vyměněny.

  • _Right
    Pro první přepsání mít jeho obsah výměně druhého objektu.Pro druhé přepsání druhé pole objektů mít jeho obsah vyměněny.

Poznámky

První přetížení je navržen pro provoz na jednotlivé objekty.Druhý přetížení Zamění obsah objektů mezi dvěma poli.

Příklad

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

Požadavky

Záhlaví: <algoritmus>

Obor názvů: std

Viz také

Referenční dokumentace

Standardní knihovna šablon