std::basic_istream<CharT,Traits>::swap
來自 cppreference.com
< cpp | io | basic istream
protected: void swap( basic_istream& rhs ); |
(C++11 起) | |
呼叫 basic_ios::swap(rhs) 來交換基類的所有資料成員,除了 rdbuf(),並交換 *this 和 rhs 之間的 gcount()
計數器值。此 swap 函式是受保護的:它由可交換輸入流類 std::basic_ifstream 和 std::basic_istringstream 的 swap 函式呼叫,這些函式知道如何正確交換關聯的 streambuffer。
[edit] 引數
rhs | - | 要交換的相同型別的不同 basic_istream 物件 |
[edit] 示例
執行此程式碼
#include <iostream> #include <sstream> #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() << '\n'; }
輸出
hello