std::basic_ostream<CharT,Traits>::~basic_ostream
From cppreference.com
< cpp | io | basic_ostream
| virtual ~basic_ostream(); |
||
basic_ostream オブジェクトを破棄します。このデストラクタは、基になるストリームバッファ (rdbuf()) に対して何も操作を実行しません。std::basic_ofstream や std::basic_ostringstream のような派生出力ストリームのデストラクタが、ストリームバッファのデストラクタを呼び出す責任を負います。
[編集] 例
このコードを実行
#include <iostream> #include <sstream> void add_words(std::streambuf* p) { std::ostream buf(p); // buf shares the buffer with s buf << " is the answer"; } // calls the destructor of buf. p remains unaffected int main() { std::ostringstream s; s << 42; add_words(s.rdbuf()); s << "."; std::cout << s.str() << '\n'; }
出力
42 is the answer.