std::basic_istream<CharT,Traits>:: operator=
From cppreference.net
<
cpp
|
io
|
basic istream
C++
Input/output library
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
std::basic_istream
| Global objects | ||||
| Member functions | ||||
|
basic_istream::operator=
(C++11)
|
||||
| Formatted input | ||||
| Unformatted input | ||||
| Positioning | ||||
| Miscellaneous | ||||
|
(C++11)
|
||||
| Member classes | ||||
| Non-member functions | ||||
|
protected
:
basic_istream & operator = ( const basic_istream & rhs ) = delete ; |
(1) | |
|
protected
:
basic_istream & operator = ( basic_istream && rhs ) ; |
(2) | (depuis C++11) |
1)
L'opérateur d'affectation de copie est protégé et supprimé. Les flux d'entrée ne sont pas copiables par affectation.
2)
L'opérateur d'affectation par déplacement échange les
gcount()
et tous les membres de données de la classe de base, à l'exception de
rdbuf()
, avec
rhs
, comme en appelant
swap
(
*
rhs
)
. Cet opérateur d'affectation par déplacement est protégé : il est uniquement appelé par les opérateurs d'affectation par déplacement des classes de flux d'entrée dérivées déplaçables
std::basic_ifstream
et
std::basic_istringstream
, qui savent comment correctement affecter par déplacement les tampons de flux associés.
Paramètres
| rhs | - | l'objet basic_istream à partir duquel assigner à * this |
Exemple
Exécuter ce code
#include <iostream> #include <sstream> int main() { std::istringstream s1; s1 = std::istringstream("test"); // OK // std::cin = std::istringstream("test"); // ERROR: 'operator=' is protected }