Для чего тут нужен enum?

Код

pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Graphics::TBitmap*BackCanvas;
Graphics::TBitmap*ZmeyaBlock[6];
Graphics::TBitmap*LevelImage;
TPoint BitcoinPos;
TPoint Piton[100];
int PitonHead;
int PitonLength;
int PitonDirect;
enum {Right,Down,LEFT,Up};
int NumberOfEatedBitcoin;
int Level;

В данном случае это такой странноватый способ создать константы.
Вместо чего-нибудь типа

const int Right = 0;
const int Down = 1;

и т.д.

В книге Effective C++ Мейерса об этом было в самом начале, там я это впервые и увидел )

Более стандартный способ использования енумов это что-нибудь типа

enum Direction { Right, Down, Left, Up };

...

Direction direction = Direction::Right;

...

if (direction == Direction::Right) 
    пойти_направо();

Но тут в С++ тоже можно столкнуться с проблемами и лучше использовать enum class в современном С++. https://stackoverflow.com/a/18335862/964478

1 лайк

Спасибо большое