Multiple impl�mentations d'une fonction
Bonjour � toutes et � tous,
Dans le cadre d'un programme qui effectue un algorithme, j'ai 2 fonctions qui ont le m�me prototype mais qui r�alise un calcul de mani�re diff�rente. Par exemple l'une emploie une certaine m�thode math�matique, l'autre une seconde m�thode math�matique, diff�rente. Je souhaite laisser l'utilisateur choisir quelle m�thode math�matique il souhaite utiliser en fonction de son probl�me. On peut imaginer par exemple 2 fonctions:
Code:
1 2
| void compute_quantity_1( const arma::mat &, const arma::mat &, const unsigned ){...}
void compute_quantity_2( const arma::mat &, const arma::mat &, const unsigned ){...} |
Je vois plusieurs mani�res de traiter cette question: pointeurs de fonctions, instructions pr�-processeur, interface, templates, ...
Sachant que la compilation de l'ensemble des sources est rapide (de l'ordre de 15-20 secondes), et que ces fonctions peuvent �tre appel�es 10^15 ou 10^20 fois, y a t'il une approche � pr�f�rer? Quelles seraient les bonnes pratiques? Je n'ai pas pu trouver de guidelines pr�cis sur le net.
merci et bonnes f�tes!