Humm...
De toute évidence, ta classe Creature a sémantique d'entité, à moins que je ne me trompe lourdement
A ce titre, tu peux, peut etre, envisager de comparer certains états en ajoutant des fonctions ou foncteur prenant deux pointeurs sur Creature et comparant les états en question.
Mais il me semble pour le moins difficile d'envisager de comparer deux instances de Creature (surtout si elles sont d'un type dynamique différent) autrement que... par leur adresse mémoire .
Le problème est, comme tout le monde le sait, qu'une adresse mémoire (surtout allouée de manière dynamique) dépend de tellement de paramètres que leur comparaison n'offre aucune garantie de reproductivité :
Il ne serait pas étonnant outre mesure que, en générant deux fois une situation similaire (même nombre de créatures et autres éléments, générés selon la même logique, etc ) on en arrive à des situations où un tri basé sur les adresses mémoires donnerait un résultat totalement différent pour cause de critères totalement indépendants du programme
Dés lors, la question se pose plus que sérieusement : quel intérêt pourrait avoir un tel opérateur voir une fonction / un foncteur fournissant un tel comportement

Partager