Olası Çoğalt:
Is there a simple script to convert C++ enum to string?Enum String C++
yüzden sık Hep yapıyor sonunda c bir dize ++
bir enum dönüştürmek gerekir bulmak:
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..";
}
}
Bunu yapmak için daha iyi veya tanınmış bir deyim var mı?
Belki std :: map 'yerine enum ve anahtarı' kullanmak ? Bir nesneye bir parça sarılarak, tüm uygulamalarınız için bir hata kodu araması ve işleyicisi olarak yeniden kullanılabilmenizi sağlayacak kadar akıllı olabilirsiniz. –
AJG85
Bir iyileştirme, derleyicinizdeki uyarı düzeyini yükseltirken ve uyarıları hata olarak ele alırken 'varsayılan:' maddesini atlamaktır. Böylelikle, enum listesinin tamamını genişletirseniz, derleyici, anahtar deyiminizi uyarır ve siz de anahtarınızı genişletmenizi hatırlatır. Bazı insanlar her zaman bir ön tanıma sahip olmanız gerektiğini söyler, ama bunun aslında yardımın bulunmadığı bir senaryo olduğuna inanıyorum. –