在C中获取下一个枚举值?

时间:2011-10-27 00:22:48

标签: c dynamic enumeration expansion

对于类,我需要创建一个动态扩展的哈希表,当绑定数量达到某个值时会扩展 - 509,1021,2039,4093等。我理解其他所有内容但我不确定如何检查该表应该扩展到下一个值。

我认为我们应该使用枚举,但我不明白如何获得“下一个”枚举值。即,如果我的哈希表当前有1022个绑定,我应该将底层数组扩展到2039,但我怎么知道怎么做?或者我是以错误的方式接近这个?

如果这是一个愚蠢的问题,请提前抱歉,但我的书中没有解决这个问题,而且在谈到C时我还是很新。

1 个答案:

答案 0 :(得分:1)

您不能在C中使用枚举。

您可能希望将阈值放在一个常量数组中,并保持索引指向当前阈值:

const int thresholds[] = { 509, 1021, 2039, 4093 };

int i_thresh = 0;

...

if (num_elements > thresholds[i_thresh])
{
    i_thresh++;
}