名前空間
変種
操作

std::basic_istream<CharT,Traits>::swap

From cppreference.com
< cpp‎ | io‎ | basic istream
 
 
 
 
protected:
void swap( basic_istream& rhs );
(C++11以降)

基底クラスのすべてのデータメンバ(rdbuf() を除く)を swap し、*thisrhs の間で gcount() カウンタの値を swap します。この swap 関数は protected です。これは、関連するストリームバッファを正しく swap する方法を知っている、swap 可能入力ストリームクラスである std::basic_ifstream および std::basic_istringstream の swap 関数によって呼び出されます。

[編集] パラメータ

rhs - 交換対象の、同じ型の別の basic_istream オブジェクト

[編集]

#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
English 日本語 中文(简体) 中文(繁體)