enum и #define, кажется, могут делать то же самое, например, для определения стиля ниже Поймите, что #define - это подстановка макроса для препроцессора компилятора. Есть ли обстоятельства, которые одно предпочтительнее другого?
typedef enum {
SelectionStyleNone,
SelectionStyleBlue,
SelectionStyleRed
} SelectionStyle;
против
#define SELECTION_STYLE_NONE 0
#define SELECTION_STYLE_BLUE 1
#define SELECTION_STYLE_RED 2