std::basic_streambuf<CharT,Traits>::~basic_streambuf
From cppreference.com
< cpp | io | basic streambuf
| virtual ~basic_streambuf(); |
||
このデストラクタは何も効果がありません。このbasic_streambufのメンバー(ポインタとロケール)は、このデストラクタが返された後に通常のオブジェクト破壊シーケンスに従って破棄されます。しかし、public virtualとして宣言されているため、std::basic_streambufから派生したオブジェクトを基底クラスへのポインタ経由で削除することが可能になります。
目次 |
[編集] パラメータ
(なし)
[編集] 例
このコードを実行
#include <fstream> #include <iostream> int main() { std::filebuf* fbp = new std::filebuf; fbp->open("test.txt", std::ios_base::out); fbp->sputn("Hello\n", 6); std::streambuf* sbp = fbp; delete sbp; // the file is closed, output flushed and written std::ifstream f("test.txt"); std::cout << f.rdbuf(); // proof }
出力
Hello
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 54 | C++98 | デストラクタの効果が指定されていなかった | 効果なしと指定された |
[編集] 関連項目
basic_streambuf オブジェクトを構築する(protected メンバ関数) |