Namespaces
Variants

std::basic_istream<CharT,Traits>:: operator=

From cppreference.net
protected :
basic_istream & operator = ( const basic_istream & rhs ) = delete ;
(1)
protected :
basic_istream & operator = ( basic_istream && rhs ) ;
(2) (自 C++11 起)
1) 复制赋值运算符受保护且被删除。输入流不可复制赋值。
2) 移动赋值运算符交换 gcount() 值及基类的所有数据成员(除 rdbuf() 外)与 rhs 的对应成员,如同通过调用 swap ( * rhs ) 实现。此移动赋值运算符为受保护成员:仅可由派生可移动输入流类 std::basic_ifstream std::basic_istringstream 的移动赋值运算符调用,这些派生类知晓如何正确移动赋值关联的流缓冲区。

参数

rhs - 用于向 * this 赋值的基础输入流对象

示例

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