[C++] Affichage de l'adresse

a marqué ce sujet comme résolu.

Bonjour,

j’ai une question toute bête, tellement bête que j’ai un peu honte de la poser, mais comme ça me tracasse…

Lorsque je veux afficher l’adresse d’une variable en C++ avec cout, je n’ai pas de préfixe et tout est en majuscule alors que absolument partout je vois ’Ox’ suivi de l’adresse en minuscule. Pourquoi ? Est-ce que ça vient de mon IDE (Visual Studio) ? Et comment avoir l’affichage "traditionnel" facilement ?

Merci d’avance !

1
2
3
4
5
6
7
int n = 42;
int *p = &n;
std::cout << std::hex << std::showbase;
std::cout << n << std::endl;
std::cout << &n << std::endl;
std::cout << *p << std::endl;
std::cout << p << std::endl;

me donne :

1
2
3
4
0x2a
009DFD60
0x2a
009DFD60
+0 -0

Manifestement, MSVC s’amuse à afficher les pointeurs différemments. Aucune idée pourquoi ou si c’est paramétrable. Au pire, tu peux caster tes valeurs vers std::intptr_t pour les afficher.

(HS : j’espère qu’on t’a déjà dit 1000 fois que les pointeurs en C++, c’est un problème)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte