【发布时间】:2010-09-03 22:46:09
【问题描述】:
C++ 枚举问题。
所以我有一个文件列表,以及它们的 ID,我需要对其进行迭代和处理。大部分内容是相同的,但有一些特定于文件的事情需要完成。我尝试将文件 ID 放入枚举中,然后对其进行迭代。但是,fileID 是不连续的,并且会跳来跳去。
目前,我有类似的东西
for(int i = 0; i < FILE_ENUM_MAX; i++)
{
currentFile = myEnum(i);
// do stuff
}
enum myEnum {
file1 = 0x1111,
file2 = 0x8000,
file3 = 0x75,
file4 = 0x120,
FILE_ENUM_MAX = 4
}
这不起作用;我只是浏览文件 0、1、2 和 3。我认为我不能通过询问项目 N 来获得枚举中的第 N 个项目。那么迭代这个枚举的最佳方法是什么?还是我应该摆脱它?我可能可以按数字顺序排列项目,但我更喜欢顺序无关紧要的解决方案。
【问题讨论】:
-
C++: Iterate through an enum 的可能重复项
-
重复帖子中的一些好东西。