std::strstream::~strstream
提供: cppreference.com
virtual ~strstream(); | ||
std::strstream
オブジェクトを破棄します。 これは std::strstreambuf メンバも破棄し、ベースとなるバッファが動的確保され、凍結されていない場合は、解放関数を呼ぶことがあります。
[編集]引数
(なし)
[編集]ノート
動的 strstream に対して str() が呼ばれ、その後 freeze(false) が呼ばれていない場合、このデストラクタはメモリリークします。
[編集]例
Run this code
#include <strstream>#include <iostream> int main(){{std::ostrstream s;// dynamic buffer s <<1.23<<std::ends;std::cout<< s.str()<<'\n'; s.freeze(false);}// destructor called, buffer deallocated {std::ostrstream s; s <<1.23<<std::ends;std::cout<< s.str()<<'\n';// buf.freeze(false);}// destructor called, memory leaked {std::istrstream s("1.23");// constant bufferdouble d; s >> d;std::cout<< d <<'\n';}// destructor called, nothing to deallocate}
出力:
1.23 1.23 1.23