名前空間
変種
操作

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

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

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

[編集] パラメータ

rhs - 交換対象の同じ型の basic_ostream

[編集]

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