Bonjour a tous ! J'aimerais savoir pourquoi l'utilisation de goto est fortement
deconseillee car j'aimerais utiliser cette instruction dans mon programme.
Version imprimable
Bonjour a tous ! J'aimerais savoir pourquoi l'utilisation de goto est fortement
deconseillee car j'aimerais utiliser cette instruction dans mon programme.
Parce que ça casse la linéarité du code, et provoque ce que l'on appelle du "code spaghetti", très difficile à maintenir. L'autre raison c'est qu'en C++ il y a toujours une structure plus adaptée.
Merci mais par quoi je peux remplacer cet instruction alors? :(
des if(){} else{} ;)
Dis nous d'abord ce que tu voudrais faire.
Ah oui, j'y avait pas penser ! Merci je vais essayer tout ca.
Salut,
Ce qui peut remplacer l'instruction goto, c'est, avant tout, une conception correcte...Citation:
Envoyé par warubi
En C++, cela se traduit, au choix, par:
- la création de fonctions
- les structures de test, de type vrai/faux( if... else) ou "à choix multiple"(switch case)
- les boucles (do...while, while..., for(...;...;...) )
- la gestion d'exceptions (try... catch)
chacune de ces possiblités de étant à évaluer en fonction de tes besoins et de tes souhaits...
Et les polymorphismes universels aussi.
En fait, dés le moment où il s'agit de n'avoir pas une exécution strictement linéaire, les goto *pourraient*(:cfou: :vomi:) etre envisagés, et dans la tres grosse majorité des cas, les autres techniques de programmation structurée/orientée objet permettent de les éviter...
a part pour un code de bas niveau ou dans du code generé par un programme plustot que par un programmeur, on ne devrait pas voir apparaitre cette infame instruction:cry:
Si c'est un programme qui génère automatiquement le code et si tu prévois que personne n'ait à lire dans le code C qui a été généré. Je dis, pourquoi ne pas l'utiliser (ça simplifie parfois des choses quand on génère du code à la volée).
Même bison et yacc mette des goto dans le code C généré car de toute manière, on ne va jamais voir dans ces codes sources là (enfin normalement).
Maintenant, si le code doit être lu par un humain, c'est très fortement déconseillé (comme les gens d'avant l'ont dit)
Merci pour toutes ces precisions ! ;)