Bonjour,
Je suis en train de développer une application en C++, avec g++ comme compilateur, et je me suis rendu compte d'une chose curieuse à mes yeux avec une version 64 bits:
4 = __SIZEOF_INT__ != __SIZEOF_POINTER__ = 8
Je pensais que sous 64 bits, un entier serait codé sur 8 octets, mais apparemment les développeurs ont préféré garder la taille maximale des int identiques sur les systèmes 64 et 32 bits (ce qui est pas tip top de mon point de vue, mais bon...)
Du coup, je suis ennuyé car je transformais certains de mes pointeurs en entiers et ce n'est pas possible à moins de convertir les pointeurs en long, et les long en int.
Ma question est donc la suivante: existe-t'il un moyen pour que les int soient codés sur la même taille que les pointeurs?
Je sais que je pourrais définir mon propre type qui représenterait un entier de la même taille que les pointeurs, mais ça ferait pas très propre. Pour l'instant, la conversion pointeur->long->int est ce que j'ai trouvé de plus "propre" pour l'instant...
Partager