Namespaces
Variants

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

From cppreference.net
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; // файл закрывается, вывод сбрасывается и записывается
    std::ifstream f("test.txt");
    std::cout << f.rdbuf(); // подтверждение
}

Вывод:

Hello

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 54 C++98 the effect of the destructor was not specified specified as no effect

Смотрите также

создает объект basic_streambuf
(защищенная функция-член)