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::operator=

[operator - metoda] Zastępuje obiekt 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:
        basic_istream & operator =( const basic_ostream & rhs ) = delete;
        basic_ostream & operator =( basic_ostream && rhs ); //wymaga C++11
    };
}

Argumenty

ArgumentOpis
rhsObiekt tej klasy do przypisania.

Opis szczegółowy

Kopiujący operator przypisania jest chroniony oraz usunięty. Strumienie wyjściowe nie mogą być kopiowane przez przypisanie. Przenoszący operator przypisania wymienia wszystkie dane składowe klasy bazowej (z wyjątkiem danych otrzymywanych przez wywołanie funkcji
rdbuf()
) z danymi wskazywanymi przez argument rhs przez wywołanie funkcji
swap( * rhs )
. Ten operator jest chroniony i wywoływany przez przenoszące operatory przypisania klas pochodnych strumieni wyjściowych, na przykład
std::basic_ofstream
 lub
std::basic_ostringstream
, które umieją poprawnie przenieść przez przypisanie powiązane bufory strumieni.

Przykład

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

int main()
{
    std::ostringstream output;
    //!błąd: wywołanie kopiującego operatora przypisania
    //std::cout=output;
    //!błąd: wywołanie przenoszącego operatora przypisania
    //std::cout=std::move(output);
    output = std::move( std::ostringstream() << 25 );
    std::cout << output.str();
    return 0;
}
Standardowe wyjście programu:
25

Zagadnienia powiązane

basic_ostreamTworzy obiekt tej klasy. (konstruktor)

Linki zewnętrzne