Je sais que ça ne va pas être le même dans toutes les langues, mais c'est quelque chose que je me suis demandé pendant un certain temps.Y a-t-il une différence technique entre sinon ... si/sinon si?
Étant donné que le titre est pas très clair, est-il une différence technique entre
if (...) {
// ...
} else if (...) {
// ...
}
et
if (...) {
...
} else {
if (...) {
...
}
}
Je sais que d'un point de vue pratique, ils font la même chose, et il sont des raisons de lisibilité pour choisir l'une par rapport à l'autre, par exemple si la seconde if
ne se rapporte pas directement à la première.
Mais d'un point de vue technique, je ne suis pas sûr. Est-ce que les compilateurs ont tendance à faire quelque chose de spécial avec un else if
, ou est-il traité comme si elle était une seule chose en ligne, comme:
if (...)
singleLine();
mais ressemblant à:
else
if (...) // Counts as just a single line command
espoir qui fait clairement ce que Je demande. Y a-t-il une différence technique entre les deux façons de procéder, et y a-t-il un inconvénient à utiliser le style else { if
?
Ce n'est pas vraiment agnostique de la langue. Un compilateur C est probablement assez intelligent pour générer le même code machine pour les deux blocs d'instructions. Cependant, un langage de script comme PHP générerait probablement plus de codes op (instructions) pour le second bloc. – mellowsoon
@mellowsoon Fait sens, je suppose que j'ai mal interprété la bonne utilisation de la balise ici – Tarka
"Optimisation du compilateur"? WTF? Sérieusement, les gens, ne sont pas là comme un milliard de paramètres qui affectent la performance au moins dix fois plus que cela?!? – delnan