Namespaces
Variants

std::strstream:: ~strstream

From cppreference.net
virtual ~strstream ( ) ;
(obsolète en C++98)
(supprimé en C++26)

Détruit un objet std::strstream , ce qui détruit également le membre std::strstreambuf , ce qui peut appeler la fonction de désallocation si le tampon sous-jacent était alloué dynamiquement et non gelé.

Paramètres

(aucun)

Notes

Si str() a été appelé sur un strstream dynamique et que freeze(false) n'a pas été appelé après cela, ce destructeur provoque une fuite de mémoire.

Exemple

#include <iostream>
#include <strstream>
int main()
{
    {
        std::ostrstream s; // tampon dynamique
        s << 1.23 << std::ends;
        std::cout << s.str() << '\n';
        s.freeze(false);
    } // destructeur appelé, tampon désalloué
    {
        std::ostrstream s;
        s << 1.23 << std::ends;
        std::cout << s.str() << '\n';
//      buf.freeze(false);
    } // destructeur appelé, fuite mémoire
    {
        std::istrstream s("1.23"); // tampon constant
        double d;
        s >> d;
        std::cout << d << '\n';
    } // destructeur appelé, rien à désallouer
}

Sortie :

1.23
1.23
1.23