So an enum works like this:
enum { false, true } which is equivalent to
int false = 0 int true = 1 Why wouldn't I substitute enum with #define?
#define FALSE 0 #define TRUE 1 To me, it seems like they are interchangeable. I'm aware that #define is able to handle arguments, hence operates in an entirely different way than enum. What exactly are the main uses of enum when we have #define in this case?
If I were to guess, as the #define is a preprocessor feature, enum would have some runtime advantages. How far off am I?
Thanks in advance.
int false = 0nor toint const false = 0(which would be more appropriate).intvariables would have an address, you could then do&false, which you can't for anenum.#definess instead ofenums.