std::basic_streambuf<CharT,Traits>::~basic_streambuf
来自 cppreference.com
< cpp | io | basic streambuf
virtual ~basic_streambuf(); |
||
此析构函数没有效果:此 basic_streambuf
的成员(指针和区域设置)在该析构函数返回后,将根据通常的对象析构顺序进行析构。但是,由于它是公开的虚拟的,因此允许从 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 对象(保护成员函数) |