enum を for で回す

enum の最後に DUMMY を追加して、int 型にキャストすれば for で回せる。もっといいやり方がありそうな気がする。

#include <iostream>

enum Week {
     Sun
    ,Mon
    ,Tue
    ,Wed
    ,Thu
    ,Fri
    ,Sat
    ,DUMMY
};

int main() {
    for(int i=0; i<static_cast<int>(DUMMY); i++) {
        std::cout << static_cast<Week>(i) << '\n';
    }
}

実行結果

0
1
2
3
4
5
6