##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::basic_ostream::~basic_ostream

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

virtual ~basic_ostream(); |  |

Destroys the `basic_ostream` object. This destructor does not perform any operation on the underlying streambuffer (`rdbuf()`): the destructors of the derived output streams such as std::basic_ofstream and std::basic_ostringstream are responsible for calling the destructors of the streambuffers.

### [edit] Example

Run this code

    #include <sstream>
    #include <iostream>
    void add_words(std::streambuf* p)
    {
        std::ostream buf(p); // buf shares the buffer with s
        buf << " is the answer";
    } // calls the destructor of buf. p remains unaffected
    int main()
    {
        std::ostringstream s;
        s << 42;
        add_words(s.rdbuf());
        s << ".";
        std::cout << s.str() << '\n';
    }

Output:

    42 is the answer.

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_ostream/%7Ebasic_ostream&oldid=49686"