std::basic_istream::basic_istream
De cppreference.com
|
|
Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate.
La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
explicit basic_istream( std::basic_streambuf<CharT,Traits>* sb); |
(1) | |
protected: basic_istream( const basic_istream& rhs ) = delete; |
(2) | |
protected: basic_istream( basic_istream&& rhs ); |
(3) | (desde C++11) |
1)
Construye el objeto
basic_istream, asignar valores iniciales a la clase base llamando basic_ios::init(sb). El valor de gcount() se inicializa a cero .Original:
Constructs the
basic_istream object, assigning initial values to the base class by calling basic_ios::init(sb). The value of gcount() is initialized to zero.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
El constructor de copia está protegida, y se elimina. Corrientes de entrada no son copiables .
Original:
The copy constructor is protected, and is deleted. Input streams are not copyable.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
3)
El constructor movimiento copia el valor de
gcount() de rhs, establece el gcount () valor de RHS a cero, y utiliza basic_ios<charT, traits>::move(rhs) para mover todos los miembros basic_ios, a excepción de la rdbuf(), de rhs en *this. Este constructor movimiento está protegido: es llamado por los constructores de muebles se mueven las clases de flujo de entrada y std::basic_ifstream std::basic_istringstream, que sabe cómo mover correctamente el streambuffer asociado .Original:
The move constructor copies the value of
gcount() from rhs, sets the gcount() value of rhs to zero, and uses basic_ios<charT, traits>::move(rhs) to move all basic_ios members, except for the rdbuf(), from rhs into *this. This move constructor is protected: it is called by the move constructors of movable input stream classes std::basic_ifstream and std::basic_istringstream, which know how to correctly move the associated streambuffer.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Parámetros
| sb | - | streambuffer para utilizar como dispositivo subyacente
Original: streambuffer to use as underlying device The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Ejemplo
Ejecuta este código
#include <sstream>
#include <iostream>
int main()
{
std::istringstream s1("hello");
std::istream s2(s1.rdbuf()); // OK: s2 shares the buffer with s1
// std::istream s3(std::istringstream("test")); // ERROR: move constructor is protected
// std::istream s4(s2); // ERROR: copy constructor is deleted
std::istringstream s5(std::istringstream("world")); // OK: move ctor called by derived class
std::cout << s2.rdbuf() << ' ' << s5.rdbuf() << '\n';
}
Salida:
hello world