Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Język C++

basic_ostream::swap

[metoda] Zamienia obiekty strumieni (z wyjątkiem powiązanego bufora).

Składnia

C/C++
#include <ostream>

namespace std
{
    template < class CharT, class Traits = std::char_traits < CharT > >
    class basic_ostream
        : virtual public std::basic_ios < CharT, Traits >
    {
    protected:
        void swap( basic_ostream & rhs ); //wymaga C++11
    };
}

Argumenty

ArgumentOpis
rhsa basic_ostream of the same type to swap with

Opis szczegółowy

Ta funkcja używa wyrażenia
std::basic_ios::swap( rhs )
 do zamiany wszystkich danych składowych klasy bazowej (z wyjątkiem danych otrzymywanych przez wywołanie funkcji
rdbuf()
) pomiędzy
* this
 oraz rhs. Ta funkcja jest chroniona i wywoływana przez inne funkcje
swap()
 klas strumieni wyjściowych, na przykład
std::basic_ofstream
 i
std::basic_ostringstream
.

Przykład

C/C++
#include <iostream>
#include <sstream>
#include <utility>

int main()
{
    std::ostringstream first( "To jest tekst." );
    std::ostringstream second( "A to jest inny tekst." );
    first.swap( second );
    std::swap( first, second );
    //!błąd: funkcja swap jest chroniona
    //!std::cout.swap(second);
    std::cout << "Pierwszy: " << first.str() << '\n'
    << "Drugi: " << second.str();
    return 0;
}
Standardowe wyjście programu:
Pierwszy: To jest tekst.
Drugi: A to jest inny tekst.

Linki zewnętrzne