|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : octobre 2005 Messages : 427 ![]() |
Y'a t'il une différence entre : else if et elseif ?
J'utilisais toujours elseif dans mes programmes et en parcourant mon projet je vois qu'il y a des else if qui se baladent dans le code. De même je vois pas mal de programmeur mettre à la fin de leur blocs entre accolades des ; . Y'a t'il un intérêt à celà? Voilà deux questions stupides mais dont je n'ai pas trouvé la réponse et qui m'intriguent.
__________________
Linio |
|
|
00
|
|
|
#2 | |||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Citation:
Citation:
S'il n'y a pas de blocs liés qui succèdent celui-ci (else ou elseif par exemple) ce n'est pas gênant sinon ça l'est ou le sera.
|
|||
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : octobre 2005 Messages : 427 ![]() |
C'est bien ce que je pensais pour le ;
Pour le elseif je ne comprends pas bien l'intérêt de laisser les deux choix. Merci pour cette réponse claire en tout cas.
__________________
Linio |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 2 ![]() |
Evidement, ce n'est PAS la même chose.
Elseif est plus rapide qu'un else if puisqu'il s'agit d'une seule fonction, ce qui n'est pas le cas du else if. En effet, si tu as : if (condition) {traitement} else { if (condition) {traitment} } c'est forcément plus long, puisqu'il faut d'abord rentrer dans le "else", puis exécuter la fonction if() Grâce au elseif (condition), tu fais du deux en un, et tu économises le temps de passage entre le else et le if. Le fait de nommer ton opération elseif évite au précompilateur de traduire le "else if" en "elseif". J'espère avoir été assez clair ;-) De toute façon, il te suffit de faire un benchmark sur 10 000 d'exécutions de ces deux instructions et tu verras par toi même que le "if elseif" et plus rapide que le "if else if", et même que le switch d'ailleurs. ++ |
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : février 2008 Messages : 2 ![]() |
Pour ceux que ça intéresse, vous pouvez tester ce benchmark et voir le résultat. C'est flagrant, et très logique aussi...
Code :
|
||
|
|
00
|
|
|
#6 | ||||
|
Nouveau Membre du Club
![]() Inscription : juin 2004 Messages : 32 ![]() |
résultat du petit test de code ci-dessus, chez moi ce n'est pas du tout parlant !
refresh 1 : temps ElseIf (val = 32/30) : 0.337461948395 temps Else If (val = 32/30) : 0.336936950684 temps Switch (val = 32/30) : 0.334349155426 refresh 2 : temps ElseIf (val = 32/30) : 0.338791131973 temps Else If (val = 32/30) : 0.332474946976 temps Switch (val = 32/30) : 0.33616900444 refresh 3 : temps ElseIf (val = 32/30) : 0.333489894867 temps Else If (val = 32/30) : 0.332661867142 temps Switch (val = 32/30) : 0.334265947342 Refresh 4 (j'ai bougé le code, le bloc du elseif est à la fin maintenant) : temps Else If (val = 32/30) : 0.348764896393 temps Switch (val = 32/30) : 0.335680961609 temps ElseIf (val = 32/30) : 0.332627773285 temps Else If (val = 32/30) : 0.353483915329 temps Switch (val = 32/30) : 0.33607506752 temps ElseIf (val = 32/30) : 0.335407018661 Et voila ca n'est plus pareil ^^ ![]() Du coup je ne sais toujours pas lequel utiliser Habituellement je fais : Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com