gpt4 book ai didi

c++ - 使用枚举的一部分作为数组索引

转载 作者:行者123 更新时间:2023-11-30 03:33:22 37 4
gpt4 key购买 nike

例如,我有大量枚举:

enum { elem0, elem1, elem2, elem3 ...... elem1000 }

我想使用一些枚举元素创建一个 float 数字数组。例如,我想在数组中只有三个元素:elem0elem7elem999,我想以类似的方式访问它们像这样:

array[elem0]=123
array[elem7]=12.5
array[elem999]=15.6

实现这样一个数组的最优雅的方法是什么,这样数组将只有三个元素?

最佳答案

只需编写一个从枚举到数组索引的转换:

int EnumToIdx(Elem elem)
{
switch (elem)
{
case elem0: return 0;
case elem7: return 1;
case elem999: return 2;
}

throw std::invalid_argument("EnumToIdx: no conversion"); // or whatever
}

用法

array[EnumToIdx(elem0)] = 123;
array[EnumToIdx(elem7)] = 12.5;
array[EnumToIdx(elem999)] = 15.6;

关于c++ - 使用枚举的一部分作为数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43006730/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com