命名空间
变体
操作

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 对象
(保护成员函数) [编辑]