std::basic_istream<CharT,Traits>:operator=
Von cppreference.com
< 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 markiert. Eingabeströme sind nicht CopyAssignable.
2) Der Verschiebezuweisungsoperator tauscht die
gcount()-Werte und alle Datenmember der Basisklasse aus, mit Ausnahme von rdbuf(), mit rhs, als ob durch Aufruf von swap(*rhs). Dieser Verschiebezuweisungsoperator ist geschützt: Er wird nur von den Verschiebezuweisungsoperatoren der abgeleiteten verschiebbaren Eingabestromklassen std::basic_ifstream und std::basic_istringstream aufgerufen, die wissen, wie die zugehörigen Streambuffer korrekt verschoben werden.[edit] Parameter
| rhs | - | das basic_istream-Objekt, von dem nach *this zugewiesen werden soll |
[edit] Beispiel
Führen Sie diesen Code aus
#include <iostream> #include <sstream> int main() { std::istringstream s1; s1 = std::istringstream("test"); // OK // std::cin = std::istringstream("test"); // ERROR: 'operator=' is protected }