| |||||
Page : 1 2 Page Suivante | |
| Auteur | Sujet : template et functor |
Un Programmeur | Reprise du message précédent :
|
Publicité | Posté le 12-02-2009 à 19:08:21 ![]() ![]() |
weblook$$ | ah ok, mais quelle fonction du C++ permet de nous l'indiquer ? je comprends bien que effectivment le compilateur sait de quelle fonction il s'agit mais dans le code source, comment peut-on faire ça ? Message cité 1 fois Message édité par weblook$$ le 12-02-2009 à 19:11:25 |
Joel F Real men use unique_ptr | en utilisant le protocole result_of ... |
weblook$$ | |
Un Programmeur |
|
weblook$$ | présenté comme ça, ça passe tout seul, merci beaucoup |
weblook$$ | Et dans quel contexte infiné à t-on besoin de recourir à result_of, ou autrement dit, de pouvoir déterminer le type retourné par l'operateur () ? Message cité 1 fois Message édité par weblook$$ le 13-02-2009 à 10:30:02 |
Publicité | Posté le 13-02-2009 à 10:29:51 ![]() ![]() |
weblook$$ | dans le cas où l'on a un foncteur templaté donc, c'est ça ? |
Un Programmeur |
|
weblook$$ | et que l'on a besoin de connaitre son type de retour ?,c'est précisement ça: dans le cas où l'on a un paramètre template qui est une fonction ou un pointeur sur fonction, et que l'on doit pouvoir déterminer le type de retour de la fonction ou du pointeur sur fonction appelée en interne, car cela peut être fonction de ses paramètres ? Message édité par weblook$$ le 13-02-2009 à 11:06:23 |
weblook$$ | bon oui ok rien de sorcier effectivment mais bon y a t-il un rappport entre le titre du sujet et le code avec le result_of je suis pas sur car au final le result_of ne prends pas un foncteur |
Un Programmeur | Il prend un foncteur et la liste des types des parametres que tu veux lui passer le tout encode comme une fonction retournant ce foncteur. Message édité par Un Programmeur le 13-02-2009 à 17:49:09 |
weblook$$ | dans le fichier result_of y a cette syntaxe :
|
Un Programmeur | F::result est un nom dépendant d'un paramètre template. Pour signifier qu'il est lui-même un template, il faut le template. L'héritage suit ici son mode de protection par défaut, public puisque c'est défini comme struct.
|
weblook$$ | c'est étonnant d'ailleurs car dans ce fichier result_of est définit uniquement de cette sorte template<typename F> struct result_of;
|
weblook$$ | @Programmeur: où vois-tu dans le fichier d'implémentation de result_of que result_of prend un foncteur? Message édité par weblook$$ le 14-02-2009 à 17:52:54 |
Joel F Real men use unique_ptr |
|
weblook$$ | pourtant dans le fichier result_of, la seule implémentation de result_of est celle que que j'ai mentionnée au dessus, donc quand on fait boost::result_of<T> ça appel quoi ??? y a pas de spécialisation partielle définit sur result_of, du moins pas directement, il n'y a que des spécialisations partielles sur la classe nommée: result_of_impl Message édité par weblook$$ le 14-02-2009 à 19:19:25 |
Joel F Real men use unique_ptr | comme indiqué dans le fichier, les surcharges de result_of appelant result_of_impl sont générées par une itération verticale du fichier detail/result_of_iterate |
weblook$$ | ok! Message édité par weblook$$ le 14-02-2009 à 19:38:56 |
weblook$$ |
|
weblook$$ | ci-dessous un bout de code qui illustre bien l'intêrét, en pratique, de result_of :
Message édité par weblook$$ le 07-03-2009 à 11:38:45 |
Publicité | Posté le ![]() ![]() |
Page : 1 2 Page Suivante |
| Sujets relatifs | |
|---|---|
| template et version des compilateurs | classe template avec pointeur membre sur la classe |
| template template parameters | template syntaxe |
| précision: template et inline | Probleme de compilation avec les template |
| [Résolu]Passage d'un template non défini entièrement à une fonction | problème sur un template |
| Manipulation d'un nom de template dans une #define-macro | appel d'un template xsl-fo ! |
| Plus de sujets relatifs à : template et functor | |






