std::basic_istream::operator=

来自cppreference.com
< cpp‎ | io‎ | basic istream
protected:
basic_istream& operator=( const basic_istream& rhs ) = delete;
(1)
protected:
basic_istream& operator=( basic_istream&& rhs );
(2) (C++11 起)

1) 复制赋值运算符受保护且被删除。输入流不可复制赋值 (CopyAssignable) 。

2) 移动赋值运算符和 rhs 交换 the gcount() 值和所有基类的数据成员,除了 rdbuf() ,如同以调用 swap(*rhs) 。此移动赋值运算符为受保护:它只为导出的可移动输入流类 std::basic_ifstreamstd::basic_istringstream 的移动赋值运算符调用,它们知道如何正确地移动赋值关联的流缓冲。

[编辑] 参数

rhs - 要赋值给 *this 的 basic_istream 对象

[编辑] 示例

#include <sstream>
#include <iostream>
 
int main()
{
    std::istringstream s1;
    s1 = std::istringstream("test"); // OK
 
    std::cin = std::istringstream("test"); // 错误: 'operator=' 为受保护
}