Aller au contenu

Programmation C-C++/Le saut

Un livre de Wikilivres.
En cours d'importationlink={{{link}}}

Ce livre est en cours de copie depuis le site http://casteyde.christian.free.fr/online/cours_cpp/ qui le fournit sous licence GFDL.

Cours de C/C++
^
Les structures de contrôle
La structure if
La boucle for
Le while
Le do
Branchement conditionnel
Le saut
Rupture de séquence

Livre original de C. Casteyde

Le C/C++ dispose d'une instruction de saut permettant de poursuivre l'exécution du programme en un autre point. Bien qu'il soit fortement déconseillé de l'utiliser, cette instruction est nécessaire et peut parfois être très utile, notamment dans les traitements d'erreurs. Sa syntaxe est la suivante :

goto étiquette;

étiquette est une étiquette marquant la ligne destination dans la fonction. Les étiquettes sont simplement déclarées avec la syntaxe suivante :

étiquette:

Les étiquettes peuvent avoir n'importe quel nom d'identificateur.

Il n'est pas possible d'effectuer des sauts en dehors d'une fonction. En revanche, il est possible d'effectuer des sauts en dehors et à l'intérieur des blocs d'instructions sous certaines conditions. Si la destination du saut se trouve après une déclaration, cette déclaration ne doit pas comporter d'initialisations. De plus, ce doit être la déclaration d'un type simple (c'est-à-dire une déclaration qui ne demande pas l'exécution de code) comme les variables, les structures ou les tableaux. Enfin, si, au cours d'un saut, le contrôle d'exécution sort de la portée d'une variable, celle-ci est détruite.

Note : Ces dernières règles sont particulièrement importantes en C++ si la variable est un objet dont la classe a un constructeur ou un destructeur non trivial. Voir le chapitre sur la couche objet pour plus de détails à ce sujet.

Autre règle spécifique au C++ : il est impossible d'effectuer un saut à l'intérieur d'un bloc de code en exécution protégée try {}. Voir aussi le chapitre sur les exeptions.