Namespaces
Variants
Actions

std::strstream::~strstream

From cppreference.com
< cpp‎ | io‎ | strstream
 
 
 
 
virtual ~strstream();
(deprecated in C++98)
(removed in C++26)

Destroys a std::strstream object, which also destroys the member std::strstreambuf , which may call the deallocation function if the underlying buffer was dynamically-allocated and not frozen.

[edit] Parameters

(none)

[edit] Notes

If str() was called on a dynamic strstream and freeze(false) was not called after that, this destructor leaks memory.

[edit] Example

Run this code
#include <iostream>
#include <strstream>
 
int main()
{
 {
 std::ostrstream s; // dynamic buffer 
 s << 1.23 << std::ends ;
 std::cout << s.str() << '\n';
 s.freeze(false);
 } // destructor called, buffer deallocated 
 
 {
 std::ostrstream s;
 s << 1.23 << std::ends ;
 std::cout << s.str() << '\n';
// buf.freeze(false);
 } // destructor called, memory leaked
 
 {
 std::istrstream s("1.23"); // constant buffer
 double d;
 s >> d;
 std::cout << d << '\n';
 } // destructor called, nothing to deallocate
}

Output:

1.23
1.23
1.23
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/strstream/%7Estrstream&oldid=170630"

AltStyle によって変換されたページ (->オリジナル) /