Wie erstellen Sie eine Wiederholungsschleife in C++? Im Gegensatz zu einer standardmäßigen While- oder For-Schleife. Ich muss die Bedingung am Ende jeder Iteration überprüfen und nicht am Anfang.
do
{
// whatever
} while ( !condition );
Wenn Sie die Bedingung am Anfang der Schleife prüfen möchten, negieren Sie die Bedingung einfach in einer Standardvariable while
:
while(!cond) { ... }
Wenn Sie es am Ende benötigen, verwenden Sie eine do
... while
-Schleife und negieren Sie die Bedingung:
do { ... } while(!cond);
Sie können Makros verwenden, um die Wiederholungssyntax zu simulieren.
#define repeat do
#define until(exp) while(!(exp))
Ein Beispiel: Sie möchten eine Schleife haben, die angehalten wird, wenn alle Personen einer Gruppe gezählt wurden. Wir betrachten den Wert X als gleich der Anzahl der Personen in der Gruppe, und der Zähler wird verwendet, um alle Personen in der Gruppe zu zählen. Um das zu schreiben
während (! Bedingung)
der Code wird sein:
int x = Menschen;
int counter = 0;
while (x! = Zähler)
{
counter ++;
}
0 zurückgeben;
Benutz einfach:
do
{
//enter code here
} while ( !condition );
Was dies bedeutet, verschiebt den Teil "Check for condition" zum Ende, da while
am Ende ist. Es überprüft also nur die Bedingung, nachdem der Code ausgeführt wurde, genau wie Sie es möchten
Wiederholung soll eine einfache n-malige Schleife sein ... eine zustandslose Version einer Schleife.
#define repeat(n) for (int i = 0; i < n; i++)
repeat(10) {
//do stuff
}
sie können auch eine zusätzliche Barce hinzufügen, um die Variable i noch mehr zu isolieren
#define repeat(n) { for (int i = 0; i < n; i++)
#define endrepeat }
repeat(10) {
//do stuff
} endrepeat;
Jemand hat Bedenken geäußert, etwas anderes als einen Wert zu übergeben, beispielsweise einen Ausdruck. Wechseln Sie einfach in Schleife, um rückwärts zu laufen, sodass der Ausdruck nur einmal ausgewertet wird
#define repeat(n) { for (int i = (n); i > 0; --i)