Pourquoi le `

Barbara Streisand
Barbara Streisandoriginal
2024-12-26 21:20:11819parcourir

Why Doesn't the `

Pointeurs de fonction d'impression avec << Opérateur

Lors de la tentative d'impression d'un pointeur de fonction à l'aide de l'icône << opérateur, on peut rencontrer des résultats inattendus. La conversion du pointeur de fonction en void* et l'utilisation de la fonction printf au format %p impriment avec succès la valeur souhaitée.

Interprétation du pointeur de fonction par << Opérateur

Le comportement du << L'opérateur avec un pointeur de fonction int (*)() est inattendu. Dans ce cas, le pointeur est converti en valeur booléenne, telle que définie par la règle de conversion booléenne du standard C pour les pointeurs.

Comportement de sortie avec void*

Quand un Le type void* est transmis au << opérateur, le contenu du pointeur est imprimé au format hexadécimal. Cela est dû à une version surchargée du fichier << opérateur conçu spécifiquement pour les pointeurs vides.

Observation des pointeurs de fonction membre

Les pointeurs de fonction membre ne peuvent pas être directement imprimés à l'aide de l'opérateur << opérateur en raison de leur structure complexe. Pour observer le contenu d'un pointeur de fonction membre, une méthode alternative doit être utilisée.

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