##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::basic_streambuf::~basic_streambuf

From cppreference.com
< cpp‎ | io‎ | basic streambuf

virtual ~basic_streambuf(); |  |

This destruction is empty: the members of this `basic_streambuf` (the pointers and the locale) are destructed in accordance with the usual object destruction sequence after this destructor returns. However, since it is declared public virtual, it allows the objects that are derived from `std::basic_streambuf` to be deleted through a pointer to base class.

### [edit] Parameters

(none)

### [edit] Example

Run this code

    #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; // the file is closed, output flushed and written
        std::ifstream f("test.txt");
        std::cout << f.rdbuf(); // proof
    }

Output:

    Hello

### [edit] See also

(constructor) | constructs a basic_streambuf object (protected member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_streambuf/%7Ebasic_streambuf&oldid=57737"