Wie kann man ueber ein enum iterieren

Wie kann man über ein enum iterieren?

Die Standard-Operatoren, wie ++ oder + = können nicht verwendet werden. Das heißt, dass ein Enum nicht wirklich zum Durchlaufen in einer Schleife gedacht ist. Der typische Umgang mit einem Enum  besteht darin, es in einer switch-Anweisung zu verwenden. Hier eine Möglichkeit:

enum Test
{
    eins = 1,
    zwei = 2,
    def = 255
};

int main()
{
    std::vector<Test> a;
 
    a.push_back(eins);
    a.push_back(zwei);
    a.push_back(def);
 
    for (std::vector<Test>::iterator it = a.begin(); it != a.end(); it++)
    {
        switch (*it)
        {
        case eins:
        {
            printf("eins\n");
            break;
        }
        case zwei:
        {
            printf("zwei\n");
            break;
        }
        case def:
        {
            printf("def\n");
            break;
        }
        default:
        {
            printf("default\n");
            break;
        }
        }
    }
 
    cin.get();
 
    return 0;
}

Viel Spaß damit!
Ersin Söbütay

Hits: 350

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.

Facebook Auto Publish Powered By : XYZScripts.com