std::basic_istream::basic_istream - cppreference.com
De cppreference.com
<metanoindex/>
<tbody> </tbody>
|
|
(1) | |
|
|
(2) | |
|
|
(3) | (desde C++11) |
1)
Constrói o objeto basic_istream, atribuindo valores iniciais para a classe base chamando basic_ios::init(sb). O valor da gcount() é inicializado a zero.
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.
2)
O construtor de cópia é protegida, e é excluído. Fluxos de entrada não são copiáveis .
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.
3)
O construtor movimento copia o valor de gcount() de rhs, define o gcount () o valor de rhs a zero, e usa basic_ios<charT, traits>::move(rhs) para mover todos os membros basic_ios, exceto para o rdbuf(), de rhs em *this. Esse construtor movimento é protegido: ele é chamado pelos construtores movimento de classes de fluxo de entrada móveis std::basic_ifstream e std::basic_istringstream, que sabe como mover corretamente o streambuffer associado.
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.
Parâmetros
| sb | - | streambuffer para usar como dispositivo subjacente Original: streambuffer to use as underlying device The text has been machine-translated via Google Translate. |
Exemplo
#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'; }
Saída: