Bonjour,

Je me suis rendu compte que ma fonction s'éxécutait bien plus rapidement lorsque le paramètre indx était connu avant la compilation.
Puisque ce paramètre ne peut prendre que 8 valeurs distinctinctes, j'ai décidé de créer 8 sous fonctions correspondantes et de remplacer ma fonction par :

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
 
	inline void 	fonction(......., int indx)
	{
		switch (indx)
		{
			case 8:fonction_8(.......);break;
			case 7:fonction_7(.......);break;
			case 6:fonction_6(.......);break;
			case 5:fonction_5(.......);break;
			case 4:fonction_4(.......);break;
			case 3:fonction_3(.......);break;
			case 2:fonction_2(.......);break;
			case 1:fonction_1(.......);break;
			default:;break;
		}
	}
les fonction_8... ont été créées en prenant le code de la fonction de départ et en remplaçant en dur le paramètre indx par sa valeur.

Ca marche bien, mais le hic c'est que je me retrouve maintenant avec 8 fois le même code.

Est-il possible de d'utiliser une macro pour définir les 8 fonctions d'un coup?

Merci.