Namespaces
Variants

std::ostrstream:: ~ostrstream

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

Détruit un objet std::ostrstream , 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 ostrstream 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::cout << s.str() << '\n';
        s.freeze(false);
    } // destructeur appelé, tampon désalloué
    {
        std::ostrstream s;
        s << 1.23;
        std::cout << s.str() << '\n';
//      buf.freeze(false);
    } // destructeur appelé, fuite mémoire
}

Sortie :

1.23
1.23