Код: Выделить всё
class foo
{
public:
enum MyEnum { One, Two, Three };
};
Код: Выделить всё
class foo
{
public:
enum class MyEnum { One, Two, Three };
};
- Если вы преобразуете перечисление в ограниченную область, переместите его из классов в глобальную область видимости или область пространства имен (чтобы улучшить удобство использования и избежать последнего примера использования, приведенного выше).
- Если вы оставляете перечисление незаданным, убедитесь, что оно находится в области пространства имен/класса/функции/и т. д., чтобы оно не не конфликтуют с другими именами.
Все это кажется чрезмерным усложнением, и кажется, что было бы намного проще просто хранить перечисления, уже находящиеся в классах, как перечисления без области видимости. Каков общий передовой подход к выбору между ними?
Подробнее здесь: https://stackoverflow.com/questions/273 ... ill-useful
Мобильная версия