Questions sur std-function

7
réponses

std:: fonction vs modèle

grâce à C++11, nous avons reçu la famille std::function d'enveloppes fonctionnelles. Malheureusement, je n'entends qu ... ue gabarits devraient être utilisés? Edit: mon compilateur est le Visual Studio 2012 sans CTP.
demandé sur 2013-02-04 02:21:08
6
réponses

C++11 std:: fonction de comparaison lambda

je veux créer un std::set avec une fonction de comparaison personnalisée. Je pourrais le Définir comme une classe av ... isation de la délégation. Si vous voulez une explication plus complète de toutes les solutions, lisez les réponses:)
demandé sur 2013-02-15 17:40:36
9
réponses

Programmation fonctionnelle en C++. Mise en œuvre f(a)(B)(c)

j'ai été entrer dans les bases de la programmation fonctionnelle avec C++. J'essaie de faire une fonction f(a)(b)(c) ... dre comment mettre en œuvre la fonction f(a)(b)(c) qui, comme je l'ai dit précédemment devrait retourner a + b + c .
demandé sur 2017-05-04 15:56:39
4
réponses

L'argument template (la signature) de std::function ne fait-il pas partie de son type?

étant donné le code suivant, Quelle est la raison de l'ambiguïté? Puis-je le contourner ou devrai-je garder les moulages ... deux a() fonctions présentes? j'ai essayé avec VS2010 et g++ v. 4.5. Les deux me donnent exactement la même ambiguïté.
demandé sur 2011-05-09 03:57:47
5
réponses

std:: fonction ne parvient pas à distinguer les fonctions surchargées

j'essaie de comprendre pourquoi std::function n'est pas capable de distinguer les fonctions surchargées. #inclu ... n constructeur est templatisé qui est indépendant de l'argument de modèle que vous avez passé à std::function .
demandé sur 2015-05-22 12:37:21
3
réponses

Comment lambdas C++11 est-il représenté et passé?

passer une lambda est vraiment facile en c++11: func( []( int arg ) { // code } ) ; mais je me demand ... ou les objets de fonction passent-ils d'une manière ou d'une autre différemment des structures c++ régulières?
demandé sur 2013-06-04 19:04:15
5
réponses

La comparaison de std::fonctions de l'égalité?

Comment puis-je comparer deux C++11 std::function s avec operator== , et retourner true si les deux function s se réfèrent au même pointeur de fonction?
demandé sur 2013-12-30 08:43:22
1
réponses

Est-il illégal d'invoquer une norme std::en vertu de la norme?

toutes les citations sont de N3797 . 4/3 [conv] une expression e peut être implic ... t;ArgTypes>(args)..., void) est mal formé pour tous les arguments et f . ce raisonnement est-il juste?
demandé sur 2014-08-20 05:53:46
3
réponses

Quel est le type de retour d'une expression lambda si un élément d'un vecteur est de retour?

Considérons le fragment de code suivant: #include <iostream> #include <vector> #include <functional> ... return 0; } sortie: 3 3 ainsi je me demande: dans le second extrait, Quel est le type de retour l'expression lambda
demandé sur 2015-04-13 19:25:18
2
réponses

Lambda d'un lambda: la fonction n'est pas capturé

Le programme suivant ne compile pas : #include <iostream> #include <vector> #include <functional> #incl ... t;std::endl; return 0; } parce que: error : 'f' is not captured Que signifie et comment résoudre le problème ?
demandé sur 2012-11-20 00:20:45
2
réponses

Les idées qui sous-tendent Fast Delegate (et al) ont-elles été utilisées pour optimiser la fonction std::?

il y a eu des propositions pour C++ "délégués" qui ont des frais généraux plus bas que boost::function: les pointeurs de ... dc++ sur Intel architectures 64 bits, mais les informations sur d'autres compilateurs sont les bienvenues (comme Clang).
demandé sur 2012-06-20 22:52:12
6
réponses

Obtenir le nom d'un std::function

dans l'exemple suivant, j'aimerais obtenir le nom d'une fonction. La fonction elle-même a été donnée comme un std::functio ... e in the code printName(magic()); output: magic sinon je devrais donner le nom de la fonction comme second paramètre.
demandé sur 2016-05-31 15:06:34
1
réponses

L'opérateur d'appel avec le type de retour automatique étant choisi à la place du constructeur en utilisant la fonction std::

Le bout de code suivant: #include <functional> struct X { X(std::function<double(double)> fn); // (1) ... olov). peut-être qu'il y a quelque chose d'évident que je manque ici... Est-il un problème avec ce code? Est-ce un bug?
demandé sur 2017-09-19 11:01:15
4
réponses

comment déclarer correctement le modèle en prenant le type de fonction comme paramètre (comme une std:: function)

j'ai découvert que ce n'est pas trivial à l'soigné de la syntaxe comme dans: std::function<int(float, bool)> Si ... uoi je dois donner au Modèle un formulaire général vide avec le paramètre de type vide (#1) ou sinon il ne compilera pas
demandé sur 2016-08-18 14:57:49
5
réponses

Utilisation des arguments de modèle 'void' en C++

prenez l'exemple minimal suivant: using Type1 = std::function<void(void)>; template <typename T> using Type2 ... pe(someFunc())> c; Continuation<decltype(someFunc())> devient Continuation<void> et j'obtiens l'erreur.
demandé sur 2012-11-14 06:27:59
3
réponses

Utilisation de 'std:: function' pour appeler la fonction non-void

il y a quelque temps, j'ai utilisé std::function à peu près comme ceci: std::function<void(int)> func = ... laré avec le type de retour void . Je ne suis pas sûr que ce soit correct, surtout une fois qu'on a appelé func() .
demandé sur 2012-02-18 12:37:44
1
réponses

Fonction de référence à travers un std:: fonction

fondamentalement, je voudrais avoir la sémantique suivante: #include <functional> #include <iostream> class ... copie de l'objet appelable mais est-il possible d'obtenir une référence à un objet appelable en utilisant std::function?
demandé sur 2014-06-21 02:55:24
2
réponses

Pourquoi l'affectation à std:: function ne compile pas quand il s'agit d'un membre de la classe X?

Le code suivant ne compile pas: #include <functional> struct X { std::function<X()> _gen; }; int main() ... against '<lambda at main.cpp:11:14>' operator=(reference_wrapper<_Functor> __f) noexcept ^
demandé sur 2013-11-21 22:56:10
3
réponses

Comportement de retour Impair avec std:: fonction créée à partir de lambda (C++)

j'ai des problèmes avec std:: fonctions créées à partir de lambdas si la fonction renvoie une référence mais que le type ... et à cette inadéquation de se produire? Je le vois avec g++ (GCC) 4.8.2, Je ne l'ai pas essayé avec autre chose. Merci!
demandé sur 2015-09-30 19:48:51
4
réponses

Syntaxe des modèles C++ avec les paramètres de type de fonction

j'ai l'habitude de voir une syntaxe comme celle-ci pour les pointeurs de fonction int (*pointer_name) (float, char *); v ... r langage de base des améliorations. Les types d'arguments de modèle ont-ils été étendus pour accommoder la callabilité?
demandé sur 2011-08-30 18:57:59
7
réponses

Fixation à un ptr faible

Est-il possible d' std::bind pour un std::weak
demandé sur 2012-07-27 06:32:00
1
réponses

Conversion boost:: fonction En std:: fonction

je suis en train de mettre à jour certains de nos anciens codes pour utiliser des fonctionnalités C++11 à la place des éq ... sateur fourni mais je vise juste un remplacement direct du utilisation antérieure en ce moment pas une révision du code.
demandé sur 2012-06-22 22:08:10
3
réponses

Déduire l'argument template De std:: fonction Call signature

Considérer ce modèle de la fonction: template<typename ReturnT> ReturnT foo(const std::function<ReturnT ()>&a ... 'appel passée? bool bar() { /* ... */ } foo<bool>(bar); // works foo(bar); // error: no matching function call
demandé sur 2012-06-19 18:40:56
4
réponses

Quelle est la manière la plus efficace de passer une fonction non générique?

j'apprends la programmation fonctionnelle en C++. Mon intention est de passer une fonction non générique comme argument. ... e lambda with forwarding ? } Est l'un des ci-dessus tente de corriger? Si non, comment puis-je atteindre mon objectif?
demandé sur 2018-08-16 12:11:07
2
réponses

Est-il possible d'autoriser un std:: TYPE DE fonction accepter lambdas avec différentes signatures

j'ai un ordre supérieur de la fonction map qui est similaire à STL for_each, et les cartes std::function objet vector des ... e d'écrire une fonction deref qui supprime la référence const function<int (const vector<T>&)> et renvoie un
demandé sur 2014-07-03 23:25:32
7
réponses

Pourquoi les instances std::function ont-elles un constructeur par défaut?

C'est probablement une question philosophique, mais j'ai rencontré le problème suivant: si vous définissez une fonction s ... us souhaitez passer d'une 'option' std::function, vous pouvez toujours passer un pointeur (ou utiliser boost::optional).
demandé sur 2011-09-23 13:24:41
4
réponses

C++ comment référencer les fonctions Templées en utilisant std:: bind / std:: function

si vous avez une classe templated ou une fonction templated, (ou une combinaison des deux), comment lier cette fonction, ( ... std::string parameter = L"Test String"; Storage::Execute<std::string>(parameter); } };
demandé sur 2013-02-06 14:56:07
2
réponses

C++ std::syntaxe de template de type fonctionnel

En C++11, vous pouvez instancier std::fonction comme ceci: std::function<void(int)> f1; std::function<int(std::s ... s. Est-ce que quelqu'un pourrait expliquer la syntaxe et ses limites ou au moins pointer vers une explication existante?
demandé sur 2014-12-22 16:56:33
7
réponses

Vecteur de std:: fonction avec différentes signatures

j'ai un certain nombre de fonctions de rappel avec différentes signatures. Idéalement, je voudrais les mettre dans un vec ... de trouver encore, et j'ai expérimenté avec std::bind mais pas réussi à obtenir ce que je veux. Est une chose possible?
demandé sur 2014-10-02 14:00:33
4
réponses

La fonction par défaut qui renvoie juste la valeur passée?

en tant que développeur paresseux, j'aime utiliser cette astuce pour spécifier une fonction par défaut: template <clas ... i){return i;} (une fonction qui retourne la valeur passée). pour ce faire, que dois-je écrire au lieu de /*SOMETHING 1*/ et
demandé sur 2013-03-04 17:16:58