std::basic_istream::basic_istream
Aus cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody> 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) | (seit C++11) |
1)
Konstruiert den
basic_istream Objekt zuweisen Startwerte der Basisklasse durch Aufruf basic_ios::init(sb). Der Wert gcount() auf Null initialisiert .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)
Der Copy-Konstruktor ist geschützt, und wird gelöscht. Input-Streams sind nicht kopierbar .
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)
Der Schritt Konstruktor kopiert den Wert von
gcount() rhs setzt der gcount () Wert RS auf Null, und verwendet, um alle basic_ios<charT, traits>::move(rhs) basic_ios Mitglieder bewegen, mit Ausnahme der rdbuf() aus rhs in *this. Dieser Schritt Konstruktor geschützt ist: es wird durch die Bewegung Konstruktoren von beweglichen Input-Stream-Klassen aufgerufen std::basic_ifstream und std::basic_istringstream, die wissen, wie man richtig zu bewegen das zugehörige streambuffer .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.
Parameter
| sb | - | streambuffer als zugrunde liegende Gerät verwenden
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. |
Beispiel
#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';
}
Output:
hello world