有许多方法可以迭代连续的枚举
enum Animal {Cat, Dog, Dolphin}
Run Code Online (Sandbox Code Playgroud)
但有没有一种方便简单的方法来迭代非连续的枚举元素
enum Animal {Cat = 0, Dog = 5, Dolphin = 8}
Run Code Online (Sandbox Code Playgroud)
对此的简短回答是“不”。
您可以制作一个表格animals,然后在 上使用范围循环animals。
这是一个完整的“演示”:
#include <iostream>
using namespace std;
enum Animal {Cat = 0, Dog = 5, Dolphin = 8};
int main()
{
Animal animals[] = { Cat, Dog, Dolphin };
for(Animal a : animals) cout << a << endl;
}
Run Code Online (Sandbox Code Playgroud)
输出将是:
0
5
8
Run Code Online (Sandbox Code Playgroud)