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
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
La vitesse de la lumière étant supérieure à celle du son, il apparaît normal que beaucoup de gens paraissent brillants jusqu'à ce qu'ils l'ouvrent.
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.
I'm the kind of guy that until it happens, I won't worry about it. - R.H. RoY05, MVP06
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.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
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 :
Envoyé par La norme, §9.2.12
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
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 ?
La vitesse de la lumière étant supérieure à celle du son, il apparaît normal que beaucoup de gens paraissent brillants jusqu'à ce qu'ils l'ouvrent.
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...
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
=> 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 :-)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
La vitesse de la lumière étant supérieure à celle du son, il apparaît normal que beaucoup de gens paraissent brillants jusqu'à ce qu'ils l'ouvrent.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager