std::basic_istream::swap
来自cppreference.com
< cpp | io | basic istream
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
protected: void swap(basic_istream& rhs); |
(C++11 起) | |
调用basic_ios::swap(rhs)交换基类的所有数据成员除了rdbuf(),掉期之间
gcount()
*thisrhs
计数器的值。该交换功能的保护:它是所谓的交换功能的的交换输入流类std::basic_ifstream和std::basic_istringstream,哪知道如何正确地交换相关的streambuffers,.原文:
Calls basic_ios::swap(rhs) to swap all data members of the base class except for rdbuf(), and swaps the values of the
gcount()
counters between *this and rhs
. This swap function is protected: it is called by the swap functions of the swappable input stream classes std::basic_ifstream and std::basic_istringstream, which know how to correctly swap the associated streambuffers.[编辑] 参数
rhs | - | 交换不同basic_istream相同类型的对象
原文: different basic_istream object of the same type to swap with |
[编辑] 示例
#include <sstream> #include <iostream> #include <utility> int main() { std::istringstream s1("hello"); std::istringstream s2("bye"); s1.swap(s2); // OK, istringstream has a public swap() std::swap(s1, s2); // OK, calls s1.swap(s2) // std::cin.swap(s2); // ERROR: swap is a protected member std::cout << s1.rdbuf(); }
输出:
hello