std::ostrstream::~ostrstream
From cppreference.com
< cpp | io | ostrstream
| virtual ~ostrstream(); |
(C++98で非推奨) (C++26で削除) |
|
std::ostrstream オブジェクトを破棄します。このとき、メンバーの std::strstreambuf も破棄されます。基になるバッファが動的に割り当てられ、freeze されていない場合、デアロケーション関数が呼び出される可能性があります。
[編集] パラメータ
(なし)
[編集] 注記
動的な ostrstream で str() が呼び出され、その後 freeze(false) が呼び出されなかった場合、このデストラクタはメモリリークを引き起こします。
[編集] 例
このコードを実行
#include <iostream> #include <strstream> int main() { { std::ostrstream s; // dynamic buffer s << 1.23; std::cout << s.str() << '\n'; s.freeze(false); } // destructor called, buffer deallocated { std::ostrstream s; s << 1.23; std::cout << s.str() << '\n'; // buf.freeze(false); } // destructor called, memory leaked }
出力
1.23 1.23