Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1602 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Passage d'un tableau de pointeurs de fonctions en argument

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Passage d'un tableau de pointeurs de fonctions en argument

n°2000419
o_BlastaaM​oof_o
Posté le 10-06-2010 à 10:26:37  profilanswer
 

Bonjour à tous.
 
J'ai un petit souci de syntaxe avec les tableaux de pointeurs de fonctions. J'ai fini par comprendre comment les déclarer :

Code :
  1. int (*f[])(int, int) = {f0, f1, f2};


mais pas encore comment les passer en argument d'une fonction. Quelqu'un aurait une idée à ce sujet ?
 
Merci.

mood
Publicité
Posté le 10-06-2010 à 10:26:37  profilanswer
 

n°2000423
Joel F
Real men use unique_ptr
Posté le 10-06-2010 à 10:35:59  profilanswer
 

en C++, on utilise des foncteurs ou des boost::function qui ont le bon gout d'avoir une semantique de valeur.
 
Note: boost::function s'appelle aussi std::tr1::function sous certain compilos

n°2000426
o_BlastaaM​oof_o
Posté le 10-06-2010 à 10:42:52  profilanswer
 

Et si on suppose que j'ai tout de même envie de faire un tableau de pointeurs de fonctions parce que j'ai pas le temps de m'intéresser là tout de suite à ce qu'est un foncteur ?

n°2000440
theshockwa​ve
I work at a firm named Koslow
Posté le 10-06-2010 à 11:01:52  profilanswer
 

pour du style C pur et dur, ca devrait passer, ca, non ?

Code :
  1. void plop( int (*f[])(int, int), size_t funcount )
  2. {
  3. // ...
  4. }


 
pour un truc un peu plus C++ :

Code :
  1. typedef vector< int (*)(int, int) > FuncVect;
  2. void plop( const FunctVect& functions )
  3. {
  4. // ...
  5. }


 
et effectivement, pour du code propre et vraiment C++, c'est du foncteur sinon rien comme le propose Joel F.


---------------
last.fm
n°2000449
o_BlastaaM​oof_o
Posté le 10-06-2010 à 11:13:44  profilanswer
 

Vais essayer, merci :jap:
 
Et pour répondre à ta question, je ne fais pas de "vrai" code C++. Mon code n'est pas orienté objet, la seule fonction propre au C++ que j'utilise est la surcharge d'opérateur.

n°2000534
Joel F
Real men use unique_ptr
Posté le 10-06-2010 à 13:53:49  profilanswer
 

C++ != orienté objet hein :o

 

Les foncteurs ont en outre l'avantage de preserver l'inlining et autre optimisation du compilo.


Message édité par Joel F le 10-06-2010 à 13:54:28

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Passage d'un tableau de pointeurs de fonctions en argument

 

Sujets relatifs
Creer des listes d'ojets et se les passer entres fonctionssous tableau array
Copie données usf dans une certaine ligne tableau excelType de variable tableau
tableau associatif + HashMapGénérer une liste qui s'affiche comme un tableau
erreur Affichage tableau [firefox et explorer][R] Selection dans un tableau.
Convertir un tableau Java en JavaScriptMacro Excel: Pivottables: Argument ou Appel de procédure incorrect
Plus de sujets relatifs à : Passage d'un tableau de pointeurs de fonctions en argument


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR