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