所以enum的工作原理如下:
enum {
false,
true
}
Run Code Online (Sandbox Code Playgroud)
这相当于
int false = 0
int true = 1
Run Code Online (Sandbox Code Playgroud)
我为什么不可以替代enum用#define?
#define FALSE 0
#define TRUE 1
Run Code Online (Sandbox Code Playgroud)
对我来说,它们似乎是可以互换的.我知道#define能够处理参数,因此以完全不同的方式运行enum.enum我们#define 在这种情况下的主要用途究竟是什么?
如果我猜测,因为它#define是一个预处理器功能,enum将具有一些运行时优势.我有多远?
提前致谢.