vergleicht eine Variable mit mehreren Werten effizient
häufig in der Programmierung müssen prüfen, ob eine Variable mit einer von mehreren Optionen übereinstimmt. Dies kann durch verschiedene Methoden erreicht werden, aber es ist wichtig, die Effizienz zu priorisieren.
ineffiziente Methoden
versuchen, eine Variable mit mehreren Werten mit logischen Operatoren wie ineffizienter Code zu vergleichen. Zum Beispiel:
if (num == (1 || 2 || 3))
Dieser Ansatz bewertet jeden logischen Ausdruck (1 || 2, 2 || 3) getrennt, was zu einer Verschwendung von Verschwendung führen kann. std :: initializer_list. Die folgende Vorlagenfunktion nimmt eine Variable und eine Initialisierungsliste potenzieller Übereinstimmungen an:
Vorlage
if (is_in (num, {1, 2, 3})) {do sachen}
templateeffizientere Lösung in c 17bool is_in(const T& v, std::initializer_list lst) { return std::find(std::begin(lst), std::end(lst), v) != std::end(lst); }
template. Typ:bool is_in(const T& v, std::initializer_list lst) { return std::find(std::begin(lst), std::end(lst), v) != std::end(lst); }
Vorlage
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3