what name geeksforgeeks enum code c++ enums

name - Enum to String C++



use enum (3)

Posible duplicado:
¿Hay un script simple para convertir C ++ enum a string?

Normalmente encuentro que necesito convertir una enumeración a una cadena en c ++

Siempre termino haciendo:

enum Enum{ Banana, Orange, Apple } ; char * getTextForEnum( int enumVal ) { switch( enumVal ) { case Enum::Banana: return "bananas & monkeys"; case Enum::Orange: return "Round and orange"; case Enum::Apple: return "APPLE" ; default: return "Not recognized.."; } }

¿Hay un modismo mejor o reconocido para hacer esto?


Puede arrojar el valor enum y la cadena en un mapa STL. Entonces podrías usarlo así.

return myStringMap[Enum::Apple];


enum Enum{ Banana, Orange, Apple } ; static const char * EnumStrings[] = { "bananas & monkeys", "Round and orange", "APPLE" }; const char * getTextForEnum( int enumVal ) { return EnumStrings[enumVal]; }


Tipo de una tabla de búsqueda anónima en lugar de una declaración de cambio larga:

return (const char *[]) { "bananas & monkeys", "Round and orange", "APPLE", }[enumVal];