在线文档教程
C++
输入/输出 | Input/output

std::basic_istream::swap

性病:基本[医]iStream::SWAP

protected: void swap(basic_istream& rhs(since C++11)

打电话basic_ios::swap(rhs)若要交换基类的所有数据成员,除rdbuf(),并交换gcount()之间的计数器*thisrhs这个交换函数是受保护的:它由可交换输入流类的交换函数调用。std::basic_ifstreamstd::basic_istringstream,它们知道如何正确地交换相关的流缓冲区。

参数

rhs-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

二次

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/basic[医]iStream/交换