Questions sur function-pointers

12
réponses

Comment fonctionnent les indicateurs de fonction en C?

j'ai eu une certaine expérience de ces derniers temps avec des pointeurs de fonction en C. poursuivant la tra ... estions, j'ai décidé de faire un petit résumé des bases, pour ceux qui ont besoin d'une plongée rapide sur le sujet.
demandé sur 2009-05-08 19:49:17
21
réponses

Quel est le substitut le plus proche d'un pointeur de fonction en Java?

j'ai une méthode qui est d'environ dix lignes de code. Je veux créer plus de méthodes qui font exactement la même cho ... nction pour remplacer cette ligne, mais Java n'a pas de pointeurs de fonction. Quelle est ma meilleure alternative?
demandé sur 2008-09-23 21:20:10
8
réponses

"déballage" un tuple pour appeler un correspondant pointeur de fonction

j'essaie de stocker dans un std::tuple un nombre variable de valeurs, qui seront plus tard utilisées comme arguments p ... résultat net de stocker/transmettre certaines valeurs et un pointeur de fonction jusqu'à un point futur arbitraire?
demandé sur 2011-10-22 14:19:07
7
réponses

Comprendre les typedefs pour les pointeurs de fonction en C

j'ai toujours été un peu perplexe quand je lis le code d'autres personnes qui avaient tapé des pointeurs vers des fonc ... as faire), sur la raison pour laquelle elles sont utiles et sur la façon de comprendre le travail des autres? Merci!
demandé sur 2009-10-20 01:55:45
2
réponses

Pourquoi les définitions de pointeur de fonction fonctionnent-elles avec un nombre quelconque d'ampersands '&' ou d'astérisques '*'?

Pourquoi faire le travail suivant? void foo() { cout << "Foo to you too!\n"; }; int main() { voi ... (*p1_foo)(); (*p2_foo)(); (*p3_foo)(); (*p4_foo)(); (*p5_foo)(); (*p6_foo)(); (*p7_foo)(); }
demandé sur 2011-08-01 04:37:26
13
réponses

C n'est pas si difficile que ça: void (*(*f[]) ()) ()

je viens de voir une photo aujourd'hui et je pense que j'apprécierais des explications. Voici donc la photo: ... e de ces expressions et de la validité de la règle spirale. A ce propos, quelques bonnes réponses sont déjà postées.
demandé sur 2015-12-31 19:01:28
2
réponses

Comment fonctionne le code C qui imprime de 1 à 1000 sans boucles ou énoncés conditionnels?

j'ai trouvé C code que imprime de 1 à 1000 sans boucles ou conditionnals : Mais je ne comprends pas comment il fon ... de <stdlib.h> void main(int j) { printf("%d\n", j); (&main + (&exit - &main)*(j/1000))(j+1); }
demandé sur 2011-10-29 12:30:19
16
réponses

Fonctions de rappel en Java

y a-t-il un moyen de passer une fonction de rappel dans une méthode Java? le comportement que j'essaie d'imit ... ré mais cela semble exagéré, cependant je suis conscient que parfois exagéré est la seule façon de faire les choses.
demandé sur 2009-01-14 19:40:16
10
réponses

Comment puis-je utiliser un tableau de pointeurs de fonction?

comment utiliser un tableau de pointeurs de fonction en C? comment les initialiser?
demandé sur 2008-10-31 09:45:54
14
réponses

Pourquoi les pointeurs de fonction et les pointeurs de données sont-ils incompatibles en C/C++?

j'ai lu que la conversion d'un pointeur de fonction en un pointeur de données et vice versa fonctionne sur la plupart ... t-ce le cas? Les deux ne devraient-elles pas être simplement des adresses en mémoire principale et donc compatibles?
demandé sur 2012-09-11 00:21:39
7
réponses

C++ lambda avec captures comme pointeur de fonction

je jouais avec C++ lambdas et leur conversion implicite en pointeurs de fonction. Mon exemple de départ était de les u ... çon propre de modifier l'exemple de travail pour que je puisse ajouter les entrées à un objet en utilisant lambdas?.
demandé sur 2011-10-21 20:00:26
7
réponses

Lancer un pointeur de fonction vers un autre type

disons que j'ai une fonction qui accepte un pointeur de fonction void (*)(void*) pour utilisation comme callback: ... ointeurs de fonction compatibles", mais je ne trouve pas de définition de ce que " compatible pointeur de fonction".
demandé sur 2009-02-18 05:03:43
5
réponses

Pointeur de fonction vers la fonction membre

je voudrais configurer un pointeur de fonction en tant que membre d'une classe qui est un pointeur vers une autre fonc ... { return 1; } int main() { A a; a.x = a.f; printf("%d\n",a.x()) } mais cela ne compile pas. Pourquoi?
demandé sur 2010-03-08 18:54:04
4
réponses

Comment déréférencement d'un pointeur de fonction arriver?

pourquoi et comment le déréférencement d'un pointeur de fonction "ne fait rien"? C'est de ça que je parle: ... iable. comment exactement le déréférencement d'un pointeur de fonction fonctionne-t-il?
demandé sur 2010-05-09 00:50:47
4
réponses

Comment fonctionne le paramètre template de std:: function? (application)

In Bjarne Stroustrup 's home page ( C++11 FAQ ): struct X { int foo(int); }; std::function<int(X*, ... membre . Je ne sais pas comment la norme nous permet de mettre en œuvre quelque chose comme std:: fonction !
demandé sur 2010-08-21 00:51:22
4
réponses

Les fonctions distinctes ont-elles des adresses distinctes?

tenir compte de ces deux fonctions: void foo() {} void bar() {} est-il garanti que &foo != &ba ... réellement illégal sous la norme C++ actuelle? (C++14 à ce point) (naturellement comme-si safe pliage est légal)
demandé sur 2014-10-23 21:21:22
8
réponses

Comment puis-je passer la fonction de rappel d'un membre de la classe?

j'utilise une API qui me demande de passer un pointeur de fonction comme rappel. J'essaie d'utiliser cette API de ma c ... pas marché pour moi. des suggestions/explications à ce sujet?? j'utilise VS2008. Merci!!
demandé sur 2008-12-30 16:35:35
6
réponses

Comment formater un pointeur de fonction?

y a-t-il un moyen d'imprimer un pointeur vers une fonction dans ANSI C? Bien sûr, cela signifie que vous devez lancer ... 'objet tapez $./ essai 0x400518 0x400518 ça "marche", mais pas standard...
demandé sur 2010-04-30 04:49:02
3
réponses

Pourquoi utiliser std:: function en C++ plutôt que le pointeur de fonction C d'origine? [dupliquer]

cette question a déjà une réponse ici: dois-je utiliser std::function ou un point ... Quel est l'avantage de std::function<T1(T2)> l'original T1 (*)(T2) ?
demandé sur 2012-07-06 01:38:06
3
réponses

Faire des pointeurs de fonction besoin d'une esperluette [dupliquer]

cette question a déjà une réponse ici: Pourquoi ne pointeur de fonction des défin ... (void (*funcPtr)()); y a-t-il une différence entre ces deux appels: bar(foo); bar(&foo); ?
demandé sur 2013-06-04 15:50:15
12
réponses

Alternative aux méthodes virtuelles statiques c++

en C++ n'est pas possible de déclarer une fonction virtuelle statique, ni lancer une fonction non statique vers un poi ... ...}; }; int main() { Derived1 d1; Derived2 d2; // Now I have two objects with different functionality }
demandé sur 2010-04-27 18:05:30
6
réponses

Pointeurs de fonction coulant en C++

j'ai un pointeur de vide retourné par dlsym(), je veux appeler la fonction pointée par le pointeur de vide. Ainsi je f ... j'ai également essayé reinterpret_cast mais pas de chance, Bien que l'opérateur de la fonte C semble travailler..
demandé sur 2009-07-08 10:07: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
7
réponses

Est-ce que nous devons parfois écrire du code qui a un comportement non défini selon le Standard C++?

en ce qui concerne la norme C++: "est-ce que std::function de la collection de compilateurs GNU utilise u ... MSVC)? signifie-t-il que nous ne pouvons pas/ne devrions pas empêcher undefined behavior de nos codes C++?
demandé sur 2014-07-09 12:20:54
1
réponses

Comment puis-je obtenir les types d'arguments d'un pointeur de fonction dans une classe de template variadique?

il s'agit d'une suite de ce problème: functor générique pour les fonctions avec n'importe quelle liste d'argument ... il n'y en a pas pour l'instant, mais la liste des types d'arguments est en quelque sorte enfouie en f, n'est-ce pas?
demandé sur 2012-01-30 18:06:50
4
réponses

Est-ce que les indicateurs de fonction forcent un pipeline d'instruction à se dégager?

CPU modernes ont pipelining étendu, c'est-à-dire qu'ils chargent les instructions et les données nécessaires bien avan ... ction, Je ne pense pas qu'il puisse être inlined. donc, j'ai une fonction extrêmement brève et non abrégée.
demandé sur 2012-05-25 19:26:36
4
réponses

À propos des indicateurs de fonctions dans les déclarations de fonctions

#include<stdio.h> #include<stdlib.h> int fun1() { printf("I am fun1."); return 0; } int fun2(int f ... peux comprendre int fun2(int (*fun)()) , mais je ne sais pas comment int fun2(int fun()) fonctionne. Remercier.
demandé sur 2012-02-17 15:34:09
3
réponses

Pointeur de fonction vs référence de fonction

dans le code ci-dessous, fonction-pointeur et ce que j'ai considéré comme "fonction-référence" semble avoir une sémant ... décomposé en pointeur? Alors que f_ptr = &&func; ne fonctionne pas (conversion implicite de void * )
demandé sur 2013-10-05 21:18:07
2
réponses

Quelle est la différence entre delegate en c# et le pointeur de fonction en c++? [dupliquer]

possibilité de dupliquer: y a-t-il des indicateurs de fonction dans c#? je suis intéressé à trouver la différence entre délégué en C# et indicateur de fonction en C++.
demandé sur 2011-11-11 20:49:14
7
réponses

Convertir le pointeur de fonction C++ en pointeur de fonction c

je développe une application C++ en utilisant une bibliothèque C. Je dois envoyer un pointeur pour fonctionner à la bi ... ux pas réussir à convertir ma fonction de membre f au pointeur désiré. Can quelqu'un s'il vous plaît aider?
demandé sur 2013-11-06 13:19:00