Come si crea un ciclo di ripetizione fino al ciclo in C++? Al contrario di un ciclo While o For standard. Devo controllare la condizione alla fine di ogni iterazione, piuttosto che all'inizio.Come si crea un ciclo di ripetizione fino al ciclo in C++?
risposta
do
{
// whatever
} while (!condition);
Quando si vuole verificare la condizione all'inizio del ciclo, semplicemente negare la condizione su una while
ciclo normale:
while(!cond) { ... }
Se ne avete bisogno, alla fine, utilizzare un do
. .. while
loop e nega la condizione:
do { ... } while(!cond);
Si potrebbe utilizzare le macro per simulare il repeat-fino sintassi.
#define repeat do
#define until(exp) while(!(exp))
Questo è esattamente quello che stavo cercando. Non sono sicuro di come funziona "exp". È un carattere jolly generico? Grazie! –
@ Ace.C È un nome di argomento. Il secondo '# define' crea una macro, che agisce in modo simile a una funzione. Quindi, in questo caso, '#define until (exp)' è una macro chiamata 'until' che prende un parametro' exp', e si espande in 'while (! (Exp))'. –
Grazie @ Conor.O, c'è forse un articolo o un altro post su questo argomento a cui potresti collegarmi? Sto avendo difficoltà a trovare buone risorse su come creare questi tipi di macro –
Per un esempio se si desidera avere un ciclo interrotto quando ha contato tutte le persone in un gruppo. Considereremo il valore X uguale al numero di persone nel gruppo e il contatore verrà utilizzato per contare tutte le persone nel gruppo. (! Condizione) di scrivere la
mentre
il codice sarà:
int x = popolo;
contatore int = 0;
mentre (x = contatore!)
{
contatore ++;
}
ritorno 0;
Basta usare:
do
{
//enter code here
} while (!condition);
Così che cosa che fa è, si muove il vostro 'verificare la condizione di' parte alla fine, dal momento che la while
è alla fine. Quindi controlla solo la condizione dopo aver eseguito il codice, proprio come lo vuoi
La ripetizione dovrebbe essere un ciclo semplice n volte loop ... una versione senza condizioni di un loop.
#define repeat(n) for (int i = 0; i < n; i++)
repeat(10) {
//do stuff
}
è anche possibile anche aggiungere un Barce in più per isolare la variabile i ancor più
#define repeat(n) { for (int i = 0; i < n; i++)
#define endrepeat }
repeat(10) {
//do stuff
} endrepeat;
- 1. C# Devo eseguire il ciclo fino all'eccezione?
- 2. Crea ImageViews dinamicamente all'interno di un ciclo
- 3. Perché il ciclo for si interrompe dopo una ripetizione?
- 4. parallelizzare un ciclo in C
- 5. R: Crea variabili nel ciclo
- 6. Come eseguire il ciclo fino a EOF in Python?
- 7. Come terminare un ciclo all'inizio di C?
- 8. C# strozzamento ciclo For
- 9. Come ottimizzare un ciclo?
- 10. Modifica raccolta quando si utilizza un ciclo foreach in C#
- 11. Utilizzare strtok() in un ciclo in C?
- 12. Template -ing un ciclo 'for' in C++?
- 13. Riavvia un ciclo foreach in C#?
- 14. Refactor foreach al ciclo for
- 15. Evitando la ripetizione del codice dopo il ciclo?
- 16. crea molti DropDownListFor nel ciclo foreach
- 17. StreamReader.ReadLine si bloccherà in un ciclo infinito
- 18. Collegamento al ciclo di vita di un frammento come Application.ActivityLifecycleCallbacks
- 19. Objective-C# import ciclo
- 20. Condizioni multiple in un ciclo C 'per "
- 21. C# galleggiano ciclo infinito
- 22. Utilizzo di un ciclo while come attesa in python
- 23. Python-like ciclo di enumerazione in C++
- 24. Modifica di un ciclo foreach su un ciclo Parallel.ForEach
- 25. per ciclo while in C#
- 26. Come generare numeri casuali diversi in un ciclo in C++?
- 27. Come si rimuove un elemento dell'array in un ciclo foreach?
- 28. Crea JSON da jQuery ogni ciclo
- 29. Crea array associativo dal ciclo Foreach PHP
- 30. cin.get() in un ciclo
Uhh ... Questo è abbastanza triste. Emil ha colpito la presentazione prima di quanto ho fatto ... Il "accettato" dovrebbe andare da lui ... – Adrien
Hai meno rep, ed è una domanda estremamente semplice, quindi sarò lieto di dartelo. :) –
Come detto jalf, però: se vuoi fare un ciclo fino al ciclo piuttosto che un ciclo while dovrai negare la condizione. –