question de newbie : a quoi sert la fonction break? - C++ - Programmation
Marsh Posté le 23-07-2002 à 11:41:51
à sortir d'une boucle switch, sans passer en revue les autres cas possibles
Marsh Posté le 23-07-2002 à 11:42:34
et aussi à sortir d'une boucle for/while, non ?
Marsh Posté le 23-07-2002 à 11:42:46
Harkonnen a écrit a écrit : à sortir d'une boucle switch, sans passer en revue les autres cas possibles |
marche aussi pour les for, les while...
Marsh Posté le 23-07-2002 à 11:43:10
antp a écrit a écrit : et aussi à sortir d'une boucle for/while, non ? |
argh, pas assez rapide
Marsh Posté le 23-07-2002 à 11:49:35
c a dire?
si une variable est egale a une certaine valeur alors on sort de la boucle automatiquement?
mais dans la prograammation en elle meme, on s'en sert dans quels cas?
Marsh Posté le 23-07-2002 à 11:51:15
oui, ça permet de sortir de tous les blocs.
moi je m'en sers surtout pour sortir des switch.
Marsh Posté le 23-07-2002 à 11:53:07
bailly33 a écrit a écrit : c a dire? si une variable est egale a une certaine valeur alors on sort de la boucle automatiquement? mais dans la prograammation en elle meme, on s'en sert dans quels cas? |
Normalement relativement rarement (sauf dans les switch) voir même pas du tout c pas top propre.
Marsh Posté le 23-07-2002 à 12:10:17
Citation : Normalement relativement rarement (sauf dans les switch) voir même pas du tout c pas top propre |
franchement je ne vois pas en quoi ce n'est pas propre un break...
y a des situations où au contraire cela permet de créer du code élégant, compact et surtout lisible donc il ne faut par mettre break à la poubelle en le confondant avec goto (et je suis sur que dans des cas bien précis un goto peut-etre aussi la meilleure soluton ... )
Marsh Posté le 23-07-2002 à 12:10:38
letoII a écrit a écrit : Normalement relativement rarement (sauf dans les switch) voir même pas du tout c pas top propre. |
clair !
y'a vraiment que les switch qui en ont l'utilité, d'ou ma réponse un peu rapide au dessus
Marsh Posté le 23-07-2002 à 12:18:37
Taureau a écrit a écrit : pas d'accord d'ou ma réponse |
d'accord avec toi
Marsh Posté le 23-07-2002 à 12:25:21
Taureau a écrit a écrit : pas d'accord d'ou ma réponse |
antp a écrit a écrit : d'accord avec toi |
Marsh Posté le 23-07-2002 à 12:29:04
aie y en a qui dise que ca sert pratiquement a rien et d'autre qui dise que ca peut etre une super solution...
je comprends plus rien!
comment peut il y avoir des avis si divergent sur une fonction qui vous parait si simple?
Marsh Posté le 23-07-2002 à 12:39:46
Chacun a son style de programmation
Marsh Posté le 23-07-2002 à 12:50:25
bailly33 a écrit a écrit : aie y en a qui dise que ca sert pratiquement a rien et d'autre qui dise que ca peut etre une super solution... je comprends plus rien! comment peut il y avoir des avis si divergent sur une fonction qui vous parait si simple? |
Edit: pas de polemique
LeGreg
Marsh Posté le 23-07-2002 à 13:30:58
bien sur mon propos sur le goto est à prendre au second ° mais franchement break et continue sont très utiles et les mettre au rencard pour sois disant mal propreté ben spa bien
Marsh Posté le 23-07-2002 à 13:31:44
c vrai que des fois c pratique ... dans une grosse boucle bien tortueuse, ca permet de rendre le code plus lisible
mais faut pas faire n'importe quoi
Marsh Posté le 23-07-2002 à 13:33:31
mais bien sur c évident mais il ne faut pas s'en priver par principe, c comme toujours en prog faut quand même savoir ce qu'on fait et pourquoi on le fait
Marsh Posté le 23-07-2002 à 14:01:53
Taureau a écrit a écrit : break et continue |
je trouve que continue est beaucoup plus propre que break, car il ne comporte pas cette impression de programme spaghetti que je trouve inhérente à break.
mais de toute façon, à mon humble avis, ça reste aussi un mot-clé qu'on doit réserver avant tout à des boucles switch uniquement.
Marsh Posté le 23-07-2002 à 14:04:35
Harkonnen a écrit a écrit : je trouve que continue est beaucoup plus propre que break, car il ne comporte pas cette impression de programme spaghetti que je trouve inhérente à break. mais de toute façon, à mon humble avis, ça reste aussi un mot-clé qu'on doit réserver avant tout à des boucles switch uniquement. |
tu parles de break j'espere ?
Marsh Posté le 23-07-2002 à 14:05:28
Taureau a écrit a écrit : bien sur mon propos sur le goto est à prendre au second ° mais franchement break et continue sont très utiles et les mettre au rencard pour sois disant mal propreté ben spa bien |
C'est claire parce que malheureusement tu dois parfois faire une boucle avec un while dont les conditions d'arrêts/continuités sont complexes.
Donc faire un petit break ou continue de temps en temps ne fait pas de mal (à condition d'expliquer clairement ce qui se passe dans le code).
Marsh Posté le 23-07-2002 à 14:11:52
HappyHarry a écrit a écrit : tu parles de break j'espere ? |
je rectifie mon dernier post : j'emploie break uniquement dans des switch et continue uniquement dans des while
désolé pour cette énorme erreur !!! c'est les anti inflammatoires !! (et merci à HappyHarry de m'avoir fait remarquer mon immense boulette !!)
Marsh Posté le 23-07-2002 à 14:33:56
Taureau a écrit a écrit : bien sur mon propos sur le goto est à prendre au second ° mais franchement break et continue sont très utiles et les mettre au rencard pour sois disant mal propreté ben spa bien |
c utilie pour sortir rapidement de plusieurs niveau de boucle, là daccord c peut être plus lisible, mais quand t'as qu'un niveau de boucle je suis moin sûr de la pertinecence du truc.
Marsh Posté le 23-07-2002 à 14:51:11
ben alors on est d'accord ... break et continue c'est utile quand c utile
Marsh Posté le 23-07-2002 à 14:55:53
Taureau a écrit a écrit : ben alors on est d'accord ... break et continue c'est utile quand c utile |
Ouai, mais ne pas en abuser
Marsh Posté le 23-07-2002 à 14:56:52
ASM powaaaaa
Marsh Posté le 23-07-2002 à 14:58:42
non mais il ne faut pas non plus tarabiscoter son code pour absolument éviter d'utiliser un break (meme en dehors des switch et pis moi les switch je les utilise JAMAIS...ok je suis en pascal mais bon j'ai des principes moi aussi )
Marsh Posté le 23-07-2002 à 14:59:38
Taureau a écrit a écrit : non mais il ne faut pas non plus tarabiscoter son code pour absolument éviter d'utiliser un break (meme en dehors des switch et pis moi les switch je les utilise JAMAIS...ok je suis en pascal mais bon j'ai des principes moi aussi ) |
De toute manière c assez crade aussi les switch... nan je déconne, bien que j'ai une préférence pour le pointeur de fonction
Marsh Posté le 23-07-2002 à 15:01:51
moi j'avouerais personnellement ma préférence pour un tableau de pointeurs constitué d'offsets vers les fonctions souhaitées, situés dans la mémoire FAR bien évidemment
Marsh Posté le 23-07-2002 à 15:05:41
Harkonnen a écrit a écrit : moi j'avouerais personnellement ma préférence pour un tableau de pointeurs constitué d'offsets vers les fonctions souhaitées, situés dans la mémoire FAR bien évidemment |
Marsh Posté le 23-07-2002 à 16:52:56
Je suis très sérieux :
et si je veux sortir d'un seul coups de 2 boucles imbriquées, comment faut-il faire (à part l'utilisation d'une variable en plus...)
Marsh Posté le 23-07-2002 à 16:54:53
BB138 a écrit a écrit : Je suis très sérieux : et si je veux sortir d'un seul coups de 2 boucles imbriquées, comment faut-il faire (à part l'utilisation d'une variable en plus...) |
Ca c un truc avec break et continue justement, par contre je sais plus comment on fait
Marsh Posté le 23-07-2002 à 17:33:45
euh c quoi les tableaux de pointeurs et les pointeurs de fonction?
Marsh Posté le 23-07-2002 à 17:45:50
BB138 a écrit a écrit : Je suis très sérieux : et si je veux sortir d'un seul coups de 2 boucles imbriquées, comment faut-il faire (à part l'utilisation d'une variable en plus...) |
tu as la reponse (utilisation d'une variable en plus)
sinon un goto ca me semble tout indiqué mais c'est a utiliser
avec parcimonie evidemment .
Tu peux eviter de recourir au goto en faisant en sorte que la condition de sortie de la deuxieme boucle soit satisfaite apres le premier break;
ex:
Code :
|
LeGreg
Marsh Posté le 23-07-2002 à 17:48:08
un tableau de pointeur c'est un tableau comme les autres à part que les éléments qui le composent ne sont pas d'un type int, char ou autre mais ce sont des pointeurs vers un de ces types
(je crois ne pas trop me tromper...)
Par contre pour les pointeurs de fonction ... là je sèche... je sais que ça existe mais je ne sais pas du tout comment m'en servir... (sauf peut-être dans les callback ou je me trompe...)
De toute façoc j'ai prévu de m'acheter un bon bouquin de C pour mettre tout ça au clair !
Marsh Posté le 23-07-2002 à 17:50:27
Les goto ça me rappelle trop mon QBasic d'enfance ou j'étais un éternel débutant de première... Maintenant en C je ne suis plus qu'un débutant mais plus de première !!!
Marsh Posté le 23-07-2002 à 11:40:34
c simple, est ce qu'on pourrait m'expliquer clairement a quoi ca sert?
merci d'avance.