The first form (1) returns a basic_string object with a copy of the current contents of the stream.
The second form (2) sets str as the contents of the stream, discarding any previous contents. The object preserves its open mode: if this includes ios_base::ate, the writing position is moved to the end of the new sequence.
A basic_string object with the same template parameters (charT, traits and Alloc), whose content is copied.
Member types char_type, traits_type and allocator_type are the class template parameters of basic_istringstream.
Return Value
For (1), a basic_string object with a copy of the current contents in the stream buffer.
Member types char_type, traits_type and allocator_type are the class template parameters of basic_istringstream.