std::basic_istream::basic_istream

来自cppreference.com
< cpp‎ | io‎ | basic istream

 
 
输入/输出库
I / O操纵
C-风格的I / O
缓冲区
原文:
Buffers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(已弃用)
原文:
Streams
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
抽象
原文:
Abstractions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
文件I / O
原文:
File I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_ifstream
basic_ofstream
basic_fstream
字符串I / O
原文:
String I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istringstream
basic_ostringstream
basic_stringstream
阵列的I / O
原文:
Array I/O
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
istrstream(已弃用)
ostrstream(已弃用)
strstream(已弃用)
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
streamoff
streamsize
fpos
Error类的接口
原文:
Error category interface
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
iostream_category(C++11)
io_errc(C++11)
 
std::basic_istream
全局对象
原文:
Global objects
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
cin
wcin
成员函数
原文:
Member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istream::basic_istream
basic_istream::~basic_istream
basic_istream::operator=(C++11)
格式化的输入
原文:
Formatted input
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istream::operator>>
未格式化的输入
原文:
Unformatted input
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istream::get
basic_istream::peek
basic_istream::unget
basic_istream::putback
basic_istream::getline
basic_istream::ignore
basic_istream::read
basic_istream::readsome
basic_istream::gcount
定位
原文:
Positioning
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istream::tellg
basic_istream::seekg
杂项
原文:
Miscellaneous
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istream::sync
basic_istream::swap(C++11)
会员类别
原文:
Member classes
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_istream::sentry
非成员函数
原文:
Non-member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
operator>>(std::basic_istream)
 
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) (C++11 起)
1)
,分配初始值basic_istream通过调用基类的构造basic_ios::init(sb)对象。被初始化为零的值gcount().
原文:
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.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
2)
拷贝构造函数是受保护的,将被删除。输入流是不可复制的.
原文:
The copy constructor is protected, and is deleted. Input streams are not copyable.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
3)
此举构造函数的值复制gcount()rhs的gcount的(),设定值的右边为零,并使用basic_ios<charT, traits>::move(rhs),将所有basic_ios的成员,除为rdbuf(),从rhs*this。这一举动的构造函数是受保护的,它被称为可移动的输入流类的构造函数的移动std::basic_ifstreamstd::basic_istringstream,哪知道如何正确地移动相关的streambuffer的.
原文:
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.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 参数

sb -
streambuffer使用的基础设备
原文:
streambuffer to use as underlying device
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 为例

#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';
}

输出:

hello world