C'est le freestore qui doit s'ocuper de connaitre la taille je crois. Et vu que chaque implémentation de freestore va s'y prendre comme elle l'entend ... d'autant qu'elle peut être détournée par programmation.
Après, il est vrai qu'il y a aussi une info du nombre d'éléments à détruire (!= du nombre d'octets alloués). A tout les coups, c'est implementation specific. Mais je verai bien l'info stockée juste avant le début du buffer officiellement alloué. A l'occasion, si j'y pense, je jetterai un oeil à Imperfect C++, c'est tout à fait le genre détails qui peut avoir été exploré dans le bouquin.