do
-
while
loop
Exécute conditionnellement une instruction de manière répétée (au moins une fois).
Table des matières |
Syntaxe
attr
(facultatif)
do
instruction
while (
expression
);
|
|||||||||
| attr | - | (depuis C++11) n'importe quel nombre d' attributs |
| expression | - | une expression |
| statement | - | une instruction (généralement une instruction composée) |
Explication
Lorsque le contrôle atteint une instruction do , sa instruction sera exécutée inconditionnellement.
Chaque fois que statement termine son exécution, expression sera évaluée et convertie contextuellement en bool . Si le résultat est true , statement sera exécuté à nouveau.
Si la boucle doit être terminée au sein de statement , une break statement peut être utilisée comme instruction de terminaison.
Si l'itération actuelle doit être terminée au sein de statement , une continue statement peut être utilisée comme raccourci.
Notes
Dans le cadre de la garantie de progression du C++, le comportement est indéfini si une boucle qui n'est pas une boucle infinie triviale (depuis C++26) sans comportement observable ne se termine pas. Les compilateurs sont autorisés à supprimer de telles boucles.
Mots-clés
Exemple
#include <algorithm> #include <iostream> #include <string> int main() { int j = 2; do // l'instruction composée est le corps de la boucle { j += 2; std::cout << j << ' '; } while (j < 9); std::cout << '\n'; // situation courante où la boucle do-while est utilisée std::string s = "aba"; std::sort(s.begin(), s.end()); do std::cout << s << '\n'; // l'instruction d'expression est le corps de la boucle while (std::next_permutation(s.begin(), s.end())); }
Sortie :
4 6 8 10 aab aba baa
Voir aussi
|
Documentation C
pour
do-while
|