Maison >développement back-end >C++ >« Goto » peut-il aider à quitter plusieurs boucles imbriquées lorsque « break » échoue ?
Sortie de plusieurs boucles imbriquées avec Break
Bien que l'imbrication de plusieurs boucles « for » soit une approche courante pour itérer sur des structures de données, quitter prématurément toutes les boucles peuvent parfois être nécessaires. Pouvons-nous utiliser la fonction 'break' à cette fin ?
Les limites de 'break'
Malheureusement, la fonction 'break' opère dans le cadre de son application immédiate boucle. L'appliquer pour sortir de plusieurs boucles imbriquées n'est pas efficace. Tenter de le faire met simplement fin à la boucle actuelle, laissant les boucles imbriquées inchangées.
Les arguments en faveur de « goto »
Ironiquement, la fidèle déclaration « goto », souvent mal vu dans les pratiques de programmation modernes, apparaît comme la solution appropriée pour ce scénario spécifique. Contrairement à « break », « goto » permet de sauter entre les blocs de code quel que soit leur niveau d'imbrication.
Contrôle de la profondeur de sortie de boucle
Contrôle du nombre de boucles sorties à l'aide 'goto' implique d'étiqueter les boucles et de spécifier l'étiquette appropriée comme destination 'goto'. Par exemple, pour quitter deux boucles imbriquées :
outer_loop: for (initialization1; condition1; increment1) { inner_loop: for (initialization2; condition2; increment2) { // Exit both loops if (condition) { goto outer_loop; } } }
En sautant vers l'étiquette associée à la boucle la plus externe, les deux boucles imbriquées se terminent immédiatement.
Ainsi, même si « break » ne convient pas pour en sortant de plusieurs boucles imbriquées, 'goto' fournit les fonctionnalités nécessaires, bien qu'avec une syntaxe moins gracieuse.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!