Ich habe einen Block in meinem Code, in dem die for-Schleife abhängig von einer Bedingung vorwärts oder rückwärts laufen sollte.Was ist der beste Weg, um die Richtung einer for-Schleife bedingt zu steuern
if (forwards) {
for (unsigned x = 0; x < something.size(); x++) {
// Lots of code
}
} else {
for (unsigned x = something.size()-1 ; x >= 0 ; x--) {
// Lots of code
}
}
Gibt es eine gute Möglichkeit, dies einzurichten, also wiederhole ich nicht den gesamten Code innerhalb der for-Schleife zweimal?
Das 'etwas' in Frage ist ein std :: vector <>, also ist es vielleicht mit einem Iterator möglich? (Ich verwende C++ nicht 11)
umgekehrter Iterator. – yngccc
Verwenden Sie while oder do-while-Schleife –
Beachten Sie, dass in der zweiten for-Schleife 'x> = 0 'immer wahr ausgewertet wird, da x unsigned ist. – doug