名前空間
変種

std::strstream::~strstream

提供: cppreference.com
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
 
<tbody> </tbody>
virtual ~strstream();

std::strstream オブジェクトを破棄します。 これは std::strstreambuf メンバも破棄し、ベースとなるバッファが動的確保され、凍結されていない場合は、解放関数を呼ぶことがあります。

引数

(なし)

ノート

動的 strstream に対して str() が呼ばれ、その後 freeze(false) が呼ばれていない場合、このデストラクタはメモリリークします。

#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 buffer
        double d;
        s >> d;
        std::cout << d << '\n';
    } // destructor called, nothing to deallocate
}

出力:

1.23
1.23
1.23