std::basic_streambuf<CharT,Traits>::~basic_streambuf
来自 cppreference.cn
< cpp | io | basic streambuf
virtual ~basic_streambuf(); |
||
此析构函数无效果:此 basic_streambuf
的成员(指针和 locale)在此析构函数返回后,会依照通常的对象销毁序列被销毁。然而,因为它被声明为 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++ 标准。
缺陷报告 | 应用于 | 发布时的行为 | 正确的行为 |
---|---|---|---|
LWG 54 | C++98 | 析构函数的效果未被指定 | 被指定为无效果 |
[编辑] 参阅
构造 basic_streambuf 对象(受保护成员函数) |