Bonjour à tous,

j'ai trouvé diverses discussions sur ce sujet, mais rien sur dvp. Alors voilà, je me lance:

Prenons le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void UneClasse::MethodeIf(int i)
{
   if (i==0)
   {
   <code>
   }
   else if (i==1)
   {
   <code>
   }
   [...]//etc
   else
   {
   <code>
   }
}
et le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void UneClasse::MethodeSwitch(int i)
{
switch (i)
   {
   case 0:
      <code>
   break;
   case 1:
      <code>
   break;
   [...]//etc
   default:
 
   }
}
Voici mes questions:
1/ Quelle méthode sera la plus rapide à l'exécution? Y a-t-il des exeptions?
2/ Comment fonctionne la génération de code pour un switch (au niveau du compilateur) ?
3/ Si l'on met de côté les problèmes d'efficacité (et de lisibilité du code), quels sont les avantages/inconvénients de ces 2 méthodes?

Merci pour vos réponses