« swap, szablon funkcji, C++ »
swap - Zamienia wartości dwóch obiektów. (szablon funkcji)
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!
Opracował: Elaine
« standard C++ »

swap

[szablon funkcji] Zamienia wartości dwóch obiektów.

Składnia

C/C++
#include <algorithm>
namespace std
{
    template < typename T >
    void swap( T & a, T & b );
}

Opis

Przypisuje wartość obiektu a obiektowi b i wartość obiektu b obiektowi a.

Należy wziąć pod uwagę, że ta funkcja powoduje skopiowanie obiektu do zmiennej tymczasowej i dwa razy wywołuje operator przypisania, więc może nie być efektywna dla typów, dla których wspomniane operacje są kosztowne. W takie sytuacji rekomendowane jest przeciążenie tej funkcji tak, by wykonywała zamianę w wydajniejszy sposób.

Argumenty

nazwa argumentu znaczenie
a, b obiekty, których wartości zostaną zamienione. Typ musi mieć dostępny konstruktor kopiujący i operator przypisania.

Przykład

C/C++
#include <algorithm>
#include <iostream>
using namespace std;

int main()
{
    int foo = 42, bar = 74;
   
    cout << "foo: " << foo << ", bar: " << bar << '\n';
   
    std::swap( foo, bar );
   
    cout << "foo: " << foo << ", bar: " << bar << '\n';
}

Linki zewnętrzne