std::basic_istream<CharT,Traits>:: operator=
From es.cppreference.net
<
cpp
|
io
|
basic istream
|
protected
:
basic_istream & operator = ( const basic_istream & rhs ) = delete ; |
(1) | |
|
protected
:
basic_istream & operator = ( basic_istream && rhs ) ; |
(2) | (desde C++11) |
1)
El operador de asignación de copia está protegido y está eliminado. Los flujos de entrada no son CopyAssignable.
2)
El operador de asignación de movimiento intercambia los valores de
gcount()
y todos los miembros de datos de la clase base, excepto
rdbuf()
, con
rhs
, como si llamara a
swap
(
*
rhs
)
. Este operador de asignación de movimiento está protegido: solo es llamado por los operadores de asignación de movimiento de las clases derivadas de flujo de entrada movibles
std::basic_ifstream
y
std::basic_istringstream
, que saben cómo asignar correctamente por movimiento los búferes de flujo asociados.
Parámetros
| rhs | - | el objeto basic_istream desde el cual asignar a * this |
Ejemplo
Ejecutar este código
#include <iostream> #include <sstream> int main() { std::istringstream s1; s1 = std::istringstream("test"); // CORRECTO // std::cin = std::istringstream("test"); // ERROR: 'operator=' está protegido }