> > j'aimerais qu'on m'explique ce qu'est switch avec u exemple > > merci d'avance > > Krox68 >
> switch est un mot clef du C et du C++ > il permet de manière performante de faire UN test à plusieurs branches
À ma connaissance, la plupart des implémentations changent le switch pour une série de ifs à la compilation. Il n'y a donc pas de différences de performance.
> exemple trivial : > soit 'n' un entier > switch (n) > { > case 0: > cout << "n vaut 0"; break; > case 1: > cout << "n vaut 1"; break; > default: > cout << "n différent de 0 et 1"; break; > } > il permet d'éviter des "if ... else " multiples dans le cas ou le test est unique > Attention à ne pas oublier le "break" ... car "fall through" sans erreur de compil
À noter que le fall-through peut être intentionnel, comme dans l'exemple classique des voyelles et consonnes :
# include <iostream>
int main() {
char c;
std::cin >> c;
switch (c) { case 'a': //fall through case 'e': case 'i': case 'o': case 'u': case 'y': std::cout << "Voyelle"; break;
default : std::cout << "Consonne"; break; }
Il est préférable de noter lorsqu'un fall-through est intenionnel pour ne pas créer de confusion.
-- Jonathan Mcdougal Montréal, Québec mcdougalljonathan@hotmail.com http://www.multimania.com/utopiasoftware
|