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.