Bonjour, je cherche de la documentation sur la repr�sentation des classes(des instances de classes plutot) en m�moire ? Y'a t-il une normalisation que la majorit� des compilo impl�mentent ? si oui, ou puis-je trouver ca ?
Merci :D
Version imprimable
Bonjour, je cherche de la documentation sur la repr�sentation des classes(des instances de classes plutot) en m�moire ? Y'a t-il une normalisation que la majorit� des compilo impl�mentent ? si oui, ou puis-je trouver ca ?
Merci :D
Personnellement, j'�tais toujours parti du principe que les diff�rents �l�ments d'une instance d'un objet �taient stock�s de mani�re contigu� en m�moire (pr les m�thodes seule l'adresse de la fonction, le code proprement dit et les autres membres statiques s'il y en a, �tant stock�s ailleurs), et c'est aussi ce que disait mon prof de Th�orie des langages de prog, mais je n'ai jamais vu de norme ou de truc pr�cis � ce sujet, alors si vous avez je suis preneur aussi.
Je crois que chacun fait comme il lui plait. A �a tu rajoutes la gestion des alignements.
Dans mes souvenirs Lippman avait �crit un bouquin, sur le mod�le objet du C++, qui pourrait contenir des �l�ments de r�ponse.
Sur un mod�le objet possible pour le C++, m�me si le titre est inside the C++ object model.
Un petit extrait de la norme indique quelques rares restrictions sur ce que peut faire le compilo :
Citation:
Envoy� par La norme, �9.2.12
D'accord, finalement, chaque compilo impl�mente comme il veut mais g�n�ralement, ils s'amusent pas trop � changer l'ordre, sauf s'ils peuvent gagner de l'espace � cause du probl�me d'alignement ?
Non, tant que c'est avec le m�me "access specifier" (private, protected, public), ils n'ont pas le droit de modifier l'ordre, m�me pour des gains de place li�s � l'alignement. Donc tu peux avoir des trous et il peut �tre int�ressant comme optimisation de d�clarer tes membres dans un ordre sp�cifique.
Par contre, une question : Pourquoi veux tu savoir �a ? En g�n�ral, les gens que j'ai vu se poser ce genre de question, c'�tait pour faire faire juste apr�s des choses ind�centes � leur compilateur... :roll:
=> Ce serait plutot des choses ind�centes avec un programme comme overflow...Mais NON, ce n'est pas mon but, c'�tait une question qui me tracassait, c'est pas la seule mais je voulais une r�ponse pour celle-ci :-)Citation:
Par contre, une question : Pourquoi veux tu savoir �a ? En g�n�ral, les gens que j'ai vu se poser ce genre de question, c'�tait pour faire faire juste apr�s des choses ind�centes � leur compilateur... Rolling Eyes
Merci :D