l'avantage du c++, c'est son approche objet... essaye donc de penser objet pour envisager les stats à effectuer...
un tableau de pointeur sur des fonctions, c'est mal, (en c++ en tout cas), car tu n'as aucun contrôle sur le typage de tes fonctions à la compilation.
un tableau de functor est bien plus objet comme approche...
exemple :
class functor {
public:
operator () (int param1);
};
en fait dans un functor on surgarge l'opérateur parenthèese ouvrante/fermante pour émuler une fonction...
ensuite, tu as un autre problème, celui des paramètres....
c'est là encore la puissance du c++, tu peux faire des templates de functor...
ce qui te permettra de fabriquer des functor génériques à paramètres variables et differents... (et tout ça vérifié et généré à la compilation)
ta boucle de traitement pourra faire appel for_each(), qui prend en paramètre un functor... ou bien programmer ton propre for_each() qui acceptera tes functors en paramètres.
je te conseille pour ça de regarder la bibliothèque STL et Boost qui te donneront tous les prototypes pour implémenter quelque chose de cohérent et de génerique.
# approche objet
Posté par ecyrbe . En réponse au message Y a-t-il... un expert dans le coin ? ;-). Évalué à 2.
un tableau de pointeur sur des fonctions, c'est mal, (en c++ en tout cas), car tu n'as aucun contrôle sur le typage de tes fonctions à la compilation.
un tableau de functor est bien plus objet comme approche...
exemple :
class functor {
public:
operator () (int param1);
};
en fait dans un functor on surgarge l'opérateur parenthèese ouvrante/fermante pour émuler une fonction...
ensuite, tu as un autre problème, celui des paramètres....
c'est là encore la puissance du c++, tu peux faire des templates de functor...
ce qui te permettra de fabriquer des functor génériques à paramètres variables et differents... (et tout ça vérifié et généré à la compilation)
ta boucle de traitement pourra faire appel for_each(), qui prend en paramètre un functor... ou bien programmer ton propre for_each() qui acceptera tes functors en paramètres.
je te conseille pour ça de regarder la bibliothèque STL et Boost qui te donneront tous les prototypes pour implémenter quelque chose de cohérent et de génerique.
Boost : http://www.boost.org
si t'as besoin de plus de précisions, je suis dans le coin...