Bonjour à tous .

Je n'ai jamais utilisé de pointeur sur fonction ou de foncteur, seulement je vais en avoir besoin. J'ai lu que les foncteurs étaient bien plus rapides dans la plupart des cas, sauf que les pointeurs sur fonction ont l'air bien plus simple à implémenter et dans mon cas je ne sais pas si cela ferait une vraie différence au niveau du temps d'exécution.

J'ai une classe Ncomputation avec entre autres 3 fonctions membres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
double Ncomputation::f220(double a,double b,double c) const;
double Ncomputation::f022(double a,double b,double c) const;
double Ncomputation::f220(double a,double b,double c) const;
Dans une autre fonction membre j'ai besoin de choisir quelle fonction membre j'utilise en fonction d'un paramètre.
A première vue, je pensais utiliser :
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
17
18
19
20
21
double Ncomputation::calc(unsigned int axis) const
{
    // Initialization
    double result=0.;
    double(*f)(double,double,double)=f220;
 
    // Select the function
    switch(axis)
    {
        case 1 : f=f022; break;
        case 2 : f=f202; break;
        case 3 : f=f220; break;
        default : f=f220;
    }
 
    // (Ici j'utilise f pour calculer le résultat)
    // (Ici j'utilise f pour calculer le résultat)
 
    // Return
    return result;
}
Déjà est-ce que ma syntaxe d'utilisation d'un pointeur sur fonction est bonne ? Ensuite est-ce que l'utilisation de foncteur aurait un réel intérêt dans mon cas (notamment au niveau du gain de performances) ou absolument aucun (et si oui, pourquoi ?)).

Merci beaucoup