preguntar acerca de function-pointers
12
réponses
Comment fonctionnent les pointeurs de fonction en C?
J'ai eu une certaine expérience dernièrement avec des pointeurs de fonction dans C.
Donc, en continuant avec la tradition de répondre à vos propres questions, j'ai décidé de faire un petit résumé des bases mêmes, pour ceux qui ont besoin d'une plon …
demandé sur
1970-01-01 00:33:29
11
réponses
Comment obtenir le nom de la fonction à partir du pointeur de la fonction en C?
Comment obtenir le nom de la fonction à partir du pointeur de la fonction en C?
Edit: le cas réel est: j'écris un module du noyau linux et j'appelle des fonctions du noyau. Certaines de ces fonctions sont des pointeurs et je veux inspecter le code d …
demandé sur
1970-01-01 00:33:28
6
réponses
Pointeur de fonction c++ (membre de la classe) vers une fonction membre non statique
class Foo {
public:
Foo() { do_something = &Foo::func_x; }
int (Foo::*do_something)(int); // function pointer to class member function
void setFunc(bool e) { do_something = e ? &Foo::func_x : &Foo::func_y; }
private:
…
demandé sur
1970-01-01 00:33:29
10
réponses
Quelle est l’adresse d’une fonction dans un programme C++?
Comme la fonction est l'ensemble d'instructions stockées dans un bloc contigu de mémoire.
Et l'adresse d'une fonction (point d'entrée) est l'adresse de la première instruction de la fonction. (à ma connaissance)
Et on peut donc dire que l'adresse …
demandé sur
1970-01-01 00:33:35
1
réponses
Pourquoi ‘X x; x();’ est-il autorisé, quand ‘ X ‘ définit une conversion en pointeur de fonction, mais pas, quand il définit une conversion en foncteur?
void f(int){}
typedef void (*f_ptr)(int);
struct Functor{
void operator()(int){}
};
struct X{
operator f_ptr(){ return f; }
};
struct Y{
operator Functor(){ return Functor(); }
};
int main(){
X x; Y y;
x(5); // works ?!
y(5); // doesn …
demandé sur
1970-01-01 00:33:32
6
réponses
Opérateur de Conversion C++ pour la conversion en pointeur de fonction
Je me suis écrasé contre une idée assez simple dans ma tête, mais je n'arrive pas à comprendre comment implémenter en C++.
Normalement, je peux déclarer une classe avec un opérateur de conversion, comme dans cet exemple simple:
class Foo
{
private: …
demandé sur
1970-01-01 00:33:31
2
réponses
Quelle est la différence entre le délégué en C# et le pointeur de fonction en C++? [dupliquer]
Doublon Possible:y a-t-il des pointeurs de fonction en c#?
Je suis intéressé à trouver la différence entre délégué en C# et pointeur de fonction en C++. ... …
demandé sur
1970-01-01 00:33:31
2
réponses
Comment affecter une fonction, retournée par une autre fonction, à une variable de fonction? Le résultat plutôt que la fonction génératrice elle-même
Une fonction retourne une fonction anonyme. Je voudrais affecter le résultat à une variable. Cependant le compilateur pense que j'essaie d'attribuer la fonction et non le résultat de la fonction. Comment puis-je résoudre ce problème?
program Project …
demandé sur
1970-01-01 00:33:34
2
réponses
Est l’astérisque en option lors de l’appel d’un pointeur de fonction?
je ne pouvais pas trouver une réponse à ce n'importe où. Je viens de lire K&R et vu l'appel d'un pointeur de fonction comme ceci:
(*ptr)(arg1, arg2);
je me souviens très bien, cependant, d'avoir vu quelqu'un utiliser comme ceci:
ptr(arg1, arg …
demandé sur
1970-01-01 00:33:34
3
réponses
Python, Comment passer un argument à un paramètre de pointeur de fonction?
je viens juste de commencer à apprendre Python et j'ai découvert que je peux passer une fonction comme paramètre d'une autre fonction. Maintenant, si je l'appelle foo(bar()) il ne va pas passer comme un pointeur de fonction, mais la valeur de retour …
demandé sur
1970-01-01 00:33:32