##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::basic_istream::~basic_istream

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

virtual ~basic_istream(); |  |

Destructs the input stream.

### [edit] Notes

This destructor does not perform any operation on the underlying streambuffer (`rdbuf()`): the destructors of the derived input streams such as std::basic_ifstream and std::basic_istringstream are responsible for calling the destructors of the streambuffers.

### [edit] Example

Run this code

    #include <sstream>
    #include <iostream>

    void print_stringbuf(std::streambuf* p)
    {
        std::istream buf(p); // buf shares the buffer with s1
        int n;
        buf >> n;
        std::cout << n;
    } // calls the destructor of buf. p remains unaffected

    int main()
    {
        std::istringstream s1("10 20");
        print_stringbuf(s1.rdbuf());
        int n;
        s1 >> n;
        std::cout << ',' << n << '\n';
    }

Output:

    10,20

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_istream/%7Ebasic_istream&oldid=49671"