How to Get enum item name from its value

后端 未结 10 954
天涯浪人
天涯浪人 2020-12-08 09:56

I declared a enum type as this,

enum WeekEnum
{
Mon = 0;
Tue = 1;
Wed = 2;
Thu = 3;
Fri = 4;
Sat = 5;
Sun = 6;
};

How can I get the item na

10条回答
  •  有刺的猬
    2020-12-08 10:21

    The solution I prefer is to mix arrays and ostream like this:

    std::ostream& operator<<(std::ostream& lhs, WeekEnum e) {
        static const std::array WEEK_STRINGS = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
    
        return os << WEEK_STRINGS[statuc_cast(e)]
    }
    
    cout << "Today is " << WeekEnum::Monday;
    

    I also suggest to use enum class instead of Enum

提交回复
热议问题