std::basic_streambuf<CharT,Traits>::~basic_streambuf
来自 cppreference.cn
< 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 对象(受保护的成员函数) |