std::basic_istream::~basic_istream(3)

NAME
std::basic_istream::~basic_istream - std::basic_istream::~basic_istream

Synopsis
   virtual ~basic_istream();
   Destructs the input stream.

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.

Example
// Run this code
 #include <iostream>
 #include <sstream>
 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