Wie kann ich bei der Verwendung des std::for_each-Algorithmus unterbrechen, wenn eine bestimmte Bedingung erfüllt ist?
Antworten
Zu viele Anzeigen?Sie lösen eine Ausnahme aus. Ob das eine gute Idee ist oder nicht, ist eine Art Stilfrage, @Dan, kann aber eher ein Problem mit deinem Design sein. for_each ist für eine Art funktionalen Programmierstil gedacht, der implizit davon ausgeht, dass deine Funktion gleichmäßig auf die Menge angewendet werden kann. Wenn Sie also tun zu brechen, könnte dies als ungewöhnlicher Zustand angesehen werden, der eine Ausnahme rechtfertigt.
Die andere und "funktionalere" Lösung besteht darin, die Funktion so zu schreiben, dass sie keine Auswirkungen auf bestimmte Anwendungen hat, wenn sie keine Auswirkungen haben soll. Wenn Sie also zum Beispiel eine Summierfunktion haben, addieren Sie in den Fällen, in denen sie "kaputt" ist, 0.
- See previous answers
- Weitere Antworten anzeigen