Namespaces
Variants

std::basic_ostream<CharT,Traits>:: operator=

From cppreference.net
protected :
basic_ostream & operator = ( const basic_ostream & rhs ) = delete ;
(1)
protected :
basic_ostream & operator = ( basic_ostream && rhs ) ;
(2) (seit C++11)
1) Der Kopierzuweisungsoperator ist geschützt und als gelöscht deklariert. Ausgabeströme sind nicht CopyAssignable .
2) Der Move-Zuweisungsoperator tauscht alle Datenmember der Basisklasse, außer rdbuf() , mit rhs aus, als ob durch Aufruf von swap ( * rhs ) . Dieser Move-Zuweisungsoperator ist geschützt: Er wird nur von den Move-Zuweisungsoperatoren der abgeleiteten beweglichen Ausgabestromklassen std::basic_ofstream und std::basic_ostringstream aufgerufen, die wissen, wie die zugehörigen Streampuffer korrekt move-zuzuweisen sind.

Parameter

rhs - das basic_ostream Objekt, von dem zugewiesen werden soll an * this

Beispiel

#include <iostream>
#include <sstream>
#include <utility>
int main()
{
    std::ostringstream s;
//  std::cout = s;            // ERROR: copy assignment operator is deleted
//  std::cout = std::move(s); // ERROR: move assignment operator is protected
    s = std::move(std::ostringstream() << 42); // OK, moved through derived
    std::cout << s.str() << '\n';
}

Ausgabe:

42

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 2067 C++11 1. der Parametertyp der Überladung (1) war basic_ostream&
2. der Parametertyp der Überladung (2) war const basic_ostream &&
1. const hinzugefügt
2. const entfernt