swap
La première substitution permute les valeurs de deux objets.La deuxième substitution permute les valeurs entre deux tableaux d'objets.
template<class Type>
void swap(
Type& _Left,
Type& _Right
);
template<class Type, size_t N>
void swap(
Type (&_Left)[N],
Type (&_Right)[N]
);
Paramètres
_Left
Pour la première substitution, le premier objet pour ce échanger son contenu.Pour la deuxième substitution, le premier tableau d'objets pour effectuer échanger son contenu._Right
Pour la première substitution, le deuxième objet pour ce échanger son contenu.Pour la deuxième substitution, le deuxième tableau d'objets pour effectuer échanger son contenu.
Notes
La première surcharge est conçue pour traiter des objets.La deuxième surcharge permute le contenu des objets entre deux tableaux.
Exemple
// 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;
}
Configuration requise
en-tête : <algorithm>
l'espace de noms : DST