std::basic_istream<CharT,Traits>:: operator=
From de.cppreference.net
<
cpp
|
io
|
basic istream
|
protected
:
basic_istream & operator = ( const basic_istream & rhs ) = delete ; |
(1) | |
|
protected
:
basic_istream & operator = ( basic_istream && rhs ) ; |
(2) | (seit C++11) |
1)
Der Kopierzuweisungsoperator ist geschützt und als gelöscht deklariert. Eingabeströme sind nicht kopierzuweisbar.
2)
Der Move-Zuweisungsoperator tauscht die
gcount()
-Werte und alle Datenelemente 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 Eingabestromklassen
std::basic_ifstream
und
std::basic_istringstream
aufgerufen, die wissen, wie die zugehörigen Streampuffer korrekt move-zuzuweisen sind.
Parameter
| rhs | - | das basic_istream-Objekt, von dem zugewiesen werden soll an * this |
Beispiel
Diesen Code ausführen
#include <iostream> #include <sstream> int main() { std::istringstream s1; s1 = std::istringstream("test"); // OK // std::cin = std::istringstream("test"); // ERROR: 'operator=' is protected }