std::basic_istream<CharT,Traits>::operator=
来自 cppreference.cn
< 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) 复制赋值运算符是受保护的,并且已被删除。输入流不可复制赋值。
2) 移动赋值运算符交换
gcount()
值和基类的所有数据成员,除了 rdbuf(),与 rhs,如同调用 swap(*rhs)。此移动赋值运算符受保护:它仅由派生可移动输入流类 std::basic_ifstream 和 std::basic_istringstream 的移动赋值运算符调用,这些类知道如何正确地移动赋值相关联的 streambuf。[编辑] 参数
rhs | - | 要赋值给 *this 的 basic_istream 对象 |
[编辑] 示例
运行此代码
#include <iostream> #include <sstream> int main() { std::istringstream s1; s1 = std::istringstream("test"); // OK // std::cin = std::istringstream("test"); // ERROR: 'operator=' is protected }