Maison > développement back-end > C++ > Comment puis-je imprimer des pointeurs de fonction en utilisant « cout » en C ?

Comment puis-je imprimer des pointeurs de fonction en utilisant « cout » en C ?

Linda Hamilton
Libérer: 2025-01-05 22:31:44
original
230 Les gens l'ont consulté

How Can I Print Function Pointers Using `cout` in C  ?

Pointeurs de fonction d'impression avec cout

En C, cout ne prend pas directement en charge l'impression des pointeurs de fonction. Cependant, l'utilisation d'une surcharge d'opérateur spécifique permet de le faire en convertissant le pointeur de fonction en un pointeur vide (void*).

L'opérateur<< est surchargé pour fonctionner avec des pointeurs vides comme suit :

ostream &amp; operator <<( ostream &amp;, const void * );
Copier après la connexion

Cette surcharge permet la sortie de pointeurs vides au format hexadécimal. Les pointeurs de fonction ne peuvent pas avoir de surcharge de bibliothèque standard pour l'opérateur<< car ils existent dans un nombre infini de types.

Lorsque vous tentez d'imprimer un pointeur de fonction directement avec cout, il est implicitement converti en un autre type. Dans de nombreux cas, cette conversion aboutit à une valeur booléenne, mais les règles de conversion exactes sont définies par l'implémentation.

Pour imprimer un pointeur de fonction avec cout, les étapes suivantes peuvent être suivies :

  1. Déclarez et initialisez un pointeur de fonction :
int (*pf)();
pf = foo;
Copier après la connexion
  1. Transformez le pointeur de fonction vers un vide pointeur :
cout << "cout << (void *)pf is " << (void *)pf << endl;
Copier après la connexion
Copier après la connexion
  1. Utilisez l'opérateur surchargé<< pour imprimer le pointeur vide :
cout << "cout << (void *)pf is " << (void *)pf << endl;
Copier après la connexion
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal