Итак, перечисление работает следующим образом:
enum {
false,
true
}
что эквивалентно
int false = 0
int true = 1
Почему бы мне не заменить enum на #define?
#define FALSE 0
#define TRUE 1
Мне кажется, что они взаимозаменяемы. Я знаю, что #define способен обрабатывать аргументы, поэтому работает совсем по-другому, чем enum. Каковы основные виды использования enum, когда мы имеем #define в этом случае?
Если бы я предполагал, что #define является препроцессором, enum будет иметь некоторые преимущества во время выполнения. Как далеко я?
Спасибо заранее.