question de newbie : a quoi sert la fonction break?

question de newbie : a quoi sert la fonction break? - C++ - Programmation

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.

Reply

Marsh Posté le 23-07-2002 à 11:40:34   

Reply

Marsh Posté le 23-07-2002 à 11:41:51    

à sortir d'une boucle switch, sans passer en revue les autres cas possibles


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 23-07-2002 à 11:42:34    

et aussi à sortir d'une boucle for/while, non ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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...


---------------
Le Tyran
Reply

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 ;)


---------------
Le Tyran
Reply

Marsh Posté le 23-07-2002 à 11:43:11    

en fait ça sort de n'importe quel bloc non ?

Reply

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?

Reply

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.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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.


---------------
Le Tyran
Reply

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 ...  :D )

Reply

Marsh Posté le 23-07-2002 à 12:10:17   

Reply

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 ! :jap:
y'a vraiment que les switch qui en ont l'utilité, d'ou ma réponse un peu rapide au dessus


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 23-07-2002 à 12:11:32    

pas d'accord d'ou ma réponse  :D

Reply

Marsh Posté le 23-07-2002 à 12:18:37    

Taureau a écrit a écrit :

pas d'accord d'ou ma réponse  :D  




 
d'accord avec toi ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-07-2002 à 12:25:21    

Taureau a écrit a écrit :

 
pas d'accord d'ou ma réponse  :D  




 

antp a écrit a écrit :

 
d'accord avec toi ;)




 
 :fuck:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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?

Reply

Marsh Posté le 23-07-2002 à 12:39:46    

Chacun a son style de programmation ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 :D
 
LeGreg


Message édité par LeGreg le 23-07-2002 à 12:59:46
Reply

Marsh Posté le 23-07-2002 à 13:03:52    

ouais m'enfin les goto faut pas abuser non plus hein...

Reply

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  :D  
 
 
 

Reply

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

Reply

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  :D

Reply

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.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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 ?

Reply

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  :D  




 
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).


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

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 !!)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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  :D  
 
 
 
 




 
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.


---------------
Le Tyran
Reply

Marsh Posté le 23-07-2002 à 14:51:11    

ben alors on est d'accord ... break et continue c'est utile quand c utile  :D  :D  :D  

Reply

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  :D  :D  :D  




 
Ouai, mais ne pas en abuser :D


Message édité par LetoII le 23-07-2002 à 14:56:00

---------------
Le Tyran
Reply

Marsh Posté le 23-07-2002 à 14:56:52    

ASM powaaaaa :d


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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  :D )

Reply

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  :D )




 
 
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 :D


---------------
Le Tyran
Reply

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 :d


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

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 :d




 
 :lol:


---------------
Le Tyran
Reply

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...)

Reply

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 :D


---------------
Le Tyran
Reply

Marsh Posté le 23-07-2002 à 17:33:45    

euh c quoi les tableaux de pointeurs et les pointeurs de fonction? :heink:

Reply

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 :D.
 
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 :
  1. while (condition1)
  2. {
  3.   // do something
  4.   for (i=0; i< 100; i++)
  5.   {
  6.     if (condition2)
  7.     {
  8.       condition1 = false;
  9.       break;
  10.     }
  11.     // do something
  12.   }
  13. }


 
LeGreg


Message édité par LeGreg le 23-07-2002 à 17:49:24
Reply

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 !  :)

Reply

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 !!!  :hap:

Reply

Marsh Posté le 23-07-2002 à 17:51:34    

Domage... je ferai donc avec un variable...  :sweat:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed