Un pointeur de fonction est un pointeur vers une fonction, qui peut être stockée dans une variable. Il permet un choix au moment de l'exécution de la fonction à exécuter.
Comment obtenir un pointeur de fonction pour une fonction membre de classe et appeler ultérieurement cette fonction membre avec un objet spécifique? J'aimerais écrire: class Dog : Animal { Dog (); void bark (); } … Dog* pDog = new Dog (); BarkFunction pBark = &Dog::bark; (*pBark) (pDog); … De …
Je jouais avec les lambdas C ++ et leur conversion implicite en pointeurs de fonction. Mon exemple de départ les utilisait comme rappel pour la fonction ftw. Cela fonctionne comme prévu. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char *fpath, const struct stat …
Je voudrais configurer un pointeur de fonction en tant que membre d'une classe qui est un pointeur vers une autre fonction de la même classe. Les raisons pour lesquelles je fais cela sont compliquées. Dans cet exemple, je voudrais que la sortie soit "1" class A { public: int f(); …
Disons que j'ai une fonction qui accepte un void (*)(void*)pointeur de fonction à utiliser comme rappel: void do_stuff(void (*callback_fp)(void*), void* callback_arg); Maintenant, si j'ai une fonction comme celle-ci: void my_callback_function(struct my_struct* arg); Puis-je faire cela en toute sécurité? do_stuff((void (*)(void*)) &my_callback_function, NULL); J'ai regardé cette question et j'ai examiné certaines …
Je ne peux pas comprendre ceci: int main() { int (*) (int *) = 5; return 0; } L'affectation ci-dessus se compile avec g ++ c ++ 11. Je sais que int (*) (int *)c'est un pointeur vers une fonction qui accepte un (int *)comme argument et renvoie un int, …
Je suis en train de résoudre un défi d'exploitation binaire sur picoCTF et suis tombé sur ce morceau de code: ((void (*)())buf)(); où bufest un tableau de caractères. J'ai résolu le défi, mais je n'arrive pas à comprendre ce qu'il fait exactement. J'ai regardé ce fil mais je n'ai pas …
Je suis confus quant à la signification de void *function(). Est-ce un pointeur pour fonctionner ou une fonction qui revient void*? Je l'ai toujours utilisé sur les structures de données comme une fonction récursive renvoyant un pointeur, mais quand j'ai vu un code dans multithreading ( pthread) il y a …
J'ai trouvé ce morceau de code sur GitHub mais je ne l'ai pas bien compris: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Alors: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.