fonction template et arguments variables

fonction template et arguments variables - C++ - Programmation

Marsh Posté le 24-12-2006 à 17:55:40    

Bonjour,
 
j'ai besoin de faire une fonction qui prends en argument une autre fonction qui doit avoir une interface donnee
 
un 1er moyen d'y arrive est d'utiliser une fonction template :

Code :
  1. template <class F>
  2. void DoSomeStuffs(F f)
  3. {
  4.    f(x, y);
  5. }


 
l'appel de la fonction donne l'interface a respecter  
par ex ici : void f(X x, Y &y), j'entend par la x=entree, y=sortie
 
ma question comment faire si l'utilisateur a besoin d'arguments additionnelle pour calculer y a partir de x :
ex : void f(X x, Y &y, Z z, ...etc)
 
il y a biensure les solutions :
- utiliser des variables globales
- utiliser les va_arg du C
- demander a l'utilisateur de derivee une classe depuis une classe de base qui a une methode virtuelle pure f(x,y)
- utiliser les boost.bind  
 
 
quel est la methode "classique" ?
 
 
 

Reply

Marsh Posté le 24-12-2006 à 17:55:40   

Reply

Marsh Posté le 24-12-2006 à 19:23:52    

Les foncteurs ?

Reply

Marsh Posté le 24-12-2006 à 20:36:33    

Dumbledore a écrit :

Les foncteurs ?


 
exemple pour un nombre de variables > 3 ?  
 

Reply

Marsh Posté le 24-12-2006 à 23:06:11    

boost::bind ou les foncteurs généralisés (cf Modern C++ Design)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed