Maison  >  Article  >  développement back-end  >  Comment imprimer une adresse de pointeur avec le cout de C ?

Comment imprimer une adresse de pointeur avec le cout de C ?

DDD
DDDoriginal
2024-11-04 00:22:30218parcourir

How to Print a Pointer Address with C  's cout?

Comment générer une adresse de pointeur avec cout de C

Lors de la tentative d'impression d'un pointeur de caractère à l'aide de cout, le flux décide de traiter comme une chaîne plutôt que comme une adresse. Ce comportement est dû à la résolution de surcharge, où cout sélectionne un opérateur qui correspond au type de l'argument.

Dans ce cas, cout choisit l'opérateur défini pour l'impression des chaînes de style C :

<code class="cpp">ostream& operator<<(ostream& o, const char *c);

Cependant, vous devez sélectionner la surcharge pour l'impression des pointeurs :

<code class="cpp">ostream& operator<<(ostream& o, const void *p);

Pour convertir explicitement le pointeur char en un pointeur générique, utilisez la syntaxe suivante :

<code class="cpp">cout << static_cast<void *>(cptr) << endl;</code>

Cette conversion informe cout que vous avez l'intention d'afficher l'adresse du pointeur plutôt que la chaîne vers laquelle il pointe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn