std::basic_streambuf<CharT,Traits>::~basic_streambuf

来自cppreference.com
< cpp‎ | io‎ | basic streambuf
 
 
 
 
virtual ~basic_streambuf();

此析构函数没有效果:此 basic_streambuf 的成员(指针和本地环境)与此析构函数返回后的通常对象析构序列一致的顺序析构。然而,因为它被声明为公开虚函数,所以可以通过指向基类的指针删除从 std::basic_streambuf 派生的对象。

参数

(无)

示例

#include <iostream>
#include <fstream>
 
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; // 关闭文件,清除缓冲区并写入输出
 
    std::ifstream f("test.txt");
    std::cout << f.rdbuf(); // 证明
}

输出:

Hello

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 54 C++98 未指明此析构函数的效果 没有效果

参阅

构造 basic_streambuf 对象
(受保护成员函数)