std::basic_istream<CharT,Traits>::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 交换
gcount()
值和除了 rdbuf() 之外的所有基类的数据成员,如同以调用 swap(*rhs)。此移动赋值运算符为受保护:它只为派生的可移动输入流类 std::basic_ifstream 和 std::basic_istringstream 的移动赋值运算符所调用,它们知道如何正确地移动赋值关联的流缓冲。参数
rhs | - | 要赋值给 *this 的 basic_istream 对象
|
示例
运行此代码
#include <iostream> #include <sstream> int main() { std::istringstream s1; s1 = std::istringstream("test"); // OK std::cin = std::istringstream("test"); // 错误:'operator=' 为受保护 }