Par rapport à std::string
et std::ofstream
qui n'allouer de la mémoire sur le tas, les programmes contenant std::cout
ne semblent pas avoir une allocation de tas. Je sais que std::ostream
s hériteront xalloc, iword
et pword
. Les deux derniers ont des descriptions qu'ils ont une sorte de gestion de la mémoire.COMMEnT ostream gérer la mémoire?
Premièrement, alloue ou redimensionne le stockage privé (tableau dynamique de longue ou d'une autre structure de données indexable) suffisamment pour indexer un index valide, puis renvoie une référence à long élément de stockage privé avec le index d'index.
Mais valgrind semble indiquer qu'il n'y a pas d'allocation de tas.
- Quand cette allocation/redimensionnement se produit-elle?
- Est-ce nouveau et supprimer ou malloc et libre usage interne du
std::ostream
?
Je suppose que 'std :: ostream' laisse son 'std :: streambuf' interne faire la gestion de la mémoire pour le tampon. – Galik