snafu8 a écrit :
Ma question existentielle du moment : quand je veux allouer de la mémoire, malloc (ou new) a besoin que je lui donne la taille du buffer à allouer et me renvoit le pointeur vers le début du steak. Jusque là, je vois très bien pourquoi.
Par contre, quand je veux désallouer un buffer, free se contente du pointeur vers le début, comment fait il pour savoir combien de mémoire il doit désallouer?
|
Tu as 15 chaussettes a ranger. Tu demandes au système "donnes moi un tiroir pour ranger 15 chaussettes" et le système te dit "prends le tiroir 0x36588775". Quand tu as usé toutes tes chaussettes, tu dis au système "J'ai plus besoin du tiroir 0x36588775" et non pas "J'ai plus besoin du tiroir 0x36588775 qui contient 15 chaussettes", c'est logique. Le système vide tout le tiroir (par une méthode globale quelconque: retournement du tiroir ou bien incinération du contenu, etc; bref, ça ne concerne pas le propriétaire original), sans se préoccuper de son contenu exact.
A+,
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --