J'utilise C++ sous Linux 64 bits, le compilateur (g ++) est aussi 64 bits. Lorsque j'imprime l'adresse d'une variable, par exemple un nombre entier, il est supposé imprimer un entier de 64 bits, mais en fait il imprime un entier de 48 bits.Pointeur c + + sur machine 64 bits
int i;
cout << &i << endl;
output: 0x7fff44a09a7c
Je me demande où sont les deux autres octets. Au plaisir de vous aider.
Merci.
Combien de bits ne le numéro '1' avez? Souhaitez-vous vous plaindre que 'uint32_t x = 1;' n'a pas assez de bits? Vous devriez vérifier 'sizeof (* int)' plutôt que d'imprimer des choses. –