Maison > développement back-end > C++ > Comment convertir des énumérations en chaînes et vice versa en C moderne ?

Comment convertir des énumérations en chaînes et vice versa en C moderne ?

DDD
Libérer: 2024-12-22 03:03:14
original
926 Les gens l'ont consulté

How to Convert Enums to Strings and Vice Versa in Modern C  ?

Conversion d'une énumération en chaîne en C moderne

Pour convertir une énumération en chaîne en C moderne, utilisez la bibliothèque d'en-tête uniquement Magic Enum pour une réflexion statique sur les énumérations.

#include <magic_enum.hpp>

enum Color { RED = 2, BLUE = 4, GREEN = 8 };

// Convert enum value to string
auto color_name = magic_enum::enum_name(Color::RED);

// Convert string to enum value
std::string color_name = "GREEN";
auto color = magic_enum::enum_cast<Color>(color_name);
Copier après la connexion

Considérations

  • Magic Enum nécessite un hack spécifique au compilateur et fonctionne dans une plage numérique prédéfinie, généralement [-128, 128].
  • Personnalisez la plage pour tous les types d'énumération en modifiant MAGIC_ENUM_RANGE_MIN et MAGIC_ENUM_RANGE_MAX.
  • Spécifiez une plage personnalisée pour types d'énumération spécifiques utilisant la spécialisation enum_range.

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal