名前空間
変種
操作

std::basic_ostream::swap

提供: cppreference.com
< cpp‎ | io‎ | basic ostream
 
 
 
 
protected:
void swap(basic_ostream& rhs);
(C++11およびそれ以降)

*thisrhs の間で rdbuf() を除いた基底クラスのすべてのデータメンバを入れ替えるために basic_ios::swap(rhs) を呼びます。 この swap 関数は protected です。 紐付けられているストリームバッファを正しく入れ替える方法を知っているスワップ可能な出力ストリームクラス std::basic_ofstream および std::basic_ostringstream の swap 関数によって呼ばれます。

[編集] 引数

rhs - 入れ替える同じ型の basic_stream

[編集]

#include <sstream>
#include <iostream>
#include <utility>
int main()
{
    std::ostringstream s1("hello");
    std::ostringstream s2("bye");
 
    s1.swap(s2); // OK, ostringstream has a public swap()
    std::swap(s1, s2); // OK, calls s1.swap(s2)
 
//  std::cout.swap(s2); // ERROR: swap is a protected member
 
    std::cout << s1.str() << '\n';
}

出力:

hello