Namespaces
Variants

std::strstream:: ~strstream

From cppreference.net
virtual ~strstream ( ) ;
(in C++98 veraltet)
(in C++26 entfernt)

Zerstört ein std::strstream -Objekt, was ebenfalls das Mitglied std::strstreambuf zerstört, was die Freigabefunktion aufrufen kann, falls der zugrundeliegende Puffer dynamisch alloziert und nicht eingefroren war.

Parameter

(keine)

Hinweise

Wenn str() auf einem dynamischen strstream aufgerufen wurde und freeze(false) danach nicht aufgerufen wurde, leckt dieser Destruktor Speicher.

Beispiel

#include <iostream>
#include <strstream>
int main()
{
    {
        std::ostrstream s; // dynamischer Puffer
        s << 1.23 << std::ends;
        std::cout << s.str() << '\n';
        s.freeze(false);
    } // Destruktor aufgerufen, Puffer freigegeben
    {
        std::ostrstream s;
        s << 1.23 << std::ends;
        std::cout << s.str() << '\n';
//      buf.freeze(false);
    } // Destruktor aufgerufen, Speicherleck
    {
        std::istrstream s("1.23"); // konstanter Puffer
        double d;
        s >> d;
        std::cout << d << '\n';
    } // Destruktor aufgerufen, nichts freizugeben
}

Ausgabe:

1.23
1.23
1.23