作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
例如在 C/C++ 中,我会得到以下代码:
typedef enum fruits{
apple,
banana,
lemon,
orange
} fruit_t;
相当于:
typedef enum fruits{
apple = 0,
banana = 1,
lemon = 2,
orange = 3
} fruit_t;
但是,我希望这些值是负数,这样它们就不会与其他任何东西发生冲突。我可以这样做:
typedef enum fruits{
apple = -1,
banana = -2,
lemon = -3,
orange = -4
} fruit_t;
但是如果我想添加另一个水果,我必须分配另一个值,如果我在中间放一个,我必须重新编号它的大部分。有没有更简单的方法?
最佳答案
从 INT_MIN
开始像这样在上面:
#include <limits.h>
enum fruits
{
orange = INT_MIN,
lemon,
...
}
根据 C11 标准 INT_MIN
的“5.2.4.2.1 整数类型的大小”和/或“附录 E/1”至少是 -32767
.
INT_MIN
通过包含 <limits.h>
来定义.
关于c++ - C/C++ 创建一个带有负值的枚举,而不必对其编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21027298/
我是一名优秀的程序员,十分优秀!