Si l'on veut passer une fonction en paramètre quelle méthode est-il préférable d'utiliser ? functor ou functor2 ?
Merci.
---------------
.
Publicité
Posté le 26-10-2009 à 22:00:14
Joel F
Real men use unique_ptr
Posté le 26-10-2009 à 22:30:44
Presque aucune des deux. L'idiome classique pronée par le standard est :
Code :
template<class Fun> void callMe( Func f)
{
f("operator ()" );
}
Glock 17Pro
Posté le 26-10-2009 à 22:32:14
la méthode static présente quel inconvénient ?
---------------
.
Joel F
Real men use unique_ptr
Posté le 26-10-2009 à 22:34:51
quelle est statique tiens qui dit methode statique, dit etat statique si besoin d'un etat et qui dit etat statique dit non reentrance.
Le functor instanciable permet de stocker fonction+etat et d'appeler à la volée (cf pattern Command par exemple)
Glock 17Pro
Posté le 26-10-2009 à 22:51:28
tiens d'ailleurs en parlant de reentrance, quels sont les conditions pour qu'une fonction en C++ le soit ? quelle soit non static déjà ok mais quoi d'autre?
Message édité par Glock 17Pro le 26-10-2009 à 22:55:33
---------------
.
Aiua
PSN : Aiua / GT : Aiua42
Posté le 26-10-2009 à 23:06:26
ne pas utiliser de données statiques (sauf si elle sont constantes), n'utiliser que des données fournies par l'appelant, ne pas appeler de fonction non-réentrante