在 C/C++ 中使用 Define 语句和 enum 语句有什么区别(以及在 C 或 C++ 中使用它们时有什么区别)吗?
例如,什么时候应该使用
enum {BUFFER = 1234};
超过
#define BUFFER 1234
最佳答案
enum
定义语法元素。
#define
是一个预预处理器指令,在编译器看到代码之前执行,因此不是 C 本身的语言元素。
通常首选枚举,因为它们是类型安全的并且更容易发现。定义更难定位并且可能具有复杂的行为,例如一段代码可以重新定义另一段代码创建的#define
。这可能很难追踪。
关于c++ - 枚举和定义语句之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3035575/