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

< 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_ifstream 和 std::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=' 为受保护
    }