If-Abfrage aus einer Datenmenge



  • Hallo,

    ich möchte eine IF-Abfrage machen, bei der überprüft werden soll, ob
    ein String zu einer bestimmten Menge an Strings gehört.

    Wie kann man das am geschicktesten lösen?
    Die "Oder"- Abfragen wie im folgenden möchte ich vermeiden.

    if (string == "Test1") || (string == "Test2") || (string == "Test3") ...
    {
    
    }
    

    Danke.



  • Du solltest Deine 'bestimmte Menge an STrings' in einen Container packen, den Du dann in einer Schleife durchlaufen, oder sortieren und binär durchsuchen kannst.



  • Mit cpp-11 könnte man es auch so machen

    #include <set>
    #include <iostream>
    #include <string>
    
    int main()
    {
            if( std::set<std::string>{ "aa", "bb", "cc"  }.count( "aa" ) )
                    std::cout << "Gefunden\n";
    }
    

    Je nach Anwendungsfall muss das set nicht ad hoc konstruiert werden.


Anmelden zum Antworten