Maison > Article > développement back-end > Comment imprimer une adresse de pointeur avec le cout de C ?
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!