C fournit la macro FUNCTION pour récupérer le nom de la fonction en cours d'exécution. De même, les développeurs se demandent souvent s'il existe une macro équivalente pour obtenir le nom de classe, semblable à __CLASS__.
La réponse réside dans l'exploration d'alternatives grâce à la conception du langage C. Voici quelques options viables :
Personnalisé Macros : Les développeurs peuvent définir des macros personnalisées pour extraire les informations souhaitées. Par exemple :
Pour l'extraction du nom de méthode :
#define __METHOD_NAME__ methodName(__PRETTY_FUNCTION__) inline std::string methodName(const std::string& prettyFunction) { // Extract the method name from __PRETTY_FUNCTION__ ... }
Pour l'extraction du nom de classe :
#define __CLASS_NAME__ className(__PRETTY_FUNCTION__) inline std::string className(const std::string& prettyFunction) { // Extract the class name from __PRETTY_FUNCTION__ ... }
Ces macros personnalisées émulent les fonctionnalités de CLASS mais nécessitent une attention particulière pour gérer des cas particuliers, tels que des méthodes ou des fonctions globales sans contexte de classe.
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!