function-pointers
Я нашел C код печатает от 1 до 1000 без петель или условных обозначений : Но я не понимаю, как это работает. Может кто-нибудь пройти через код и объяснить каждую строку? #include <stdio.h> #include <stdlib.h> void main(int j) { printf("%dn", j); (&main + (&exit - &main)*(j/1000)...
Как получить указатель на функцию для функции-члена класса, а затем вызвать эту функцию-член с определенным объектом? Я хотел бы написать: class Dog : Animal { Dog (); void bark (); } … Dog* pDog = new Dog (); BarkFunction pBark = &Dog::bark; (*pBark) (pDog); … также, если возможно, я хотел б...
я играл с лямбдами C++ и их неявным преобразованием в указатели функций. Мой начальный пример использовал их в качестве обратного вызова для функции ftw. Это работает, как и ожидалось. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char *fpat...
Я просто нашла код в интернете и нашел это: float * (*(*foo())[SIZE][SIZE])() Как я могу прочитать эту декларацию? Есть определенный набор правил для чтения таких сложных деклараций?...
допустим, у меня есть функция, которая принимает void (*)(void*) указатель на функцию для использования в качестве обратного вызова: void do_stuff(void (*callback_fp)(void*), void* callback_arg); теперь, если у меня есть такая функция: void my_callback_function(struct my_struct* arg); могу ли я сделать ...
Я хочу создать указатель на функцию как член класса, указатель на другую функцию в одном классе. Причины, по которым я это делаю, сложны. в этом примере я хотел бы, чтобы выход был "1" class A { public: int f(); int (*x)(); } int A::f() { return 1; } int main() { A a; a.x = a.f; printf("%dn",a.x())...
почему и как разыменование указателя функции просто"ничего не делает"? вот о чем я говорю: #include<stdio.h> void hello() { printf("hello"); } int main(void) { (*****hello)(); } из комментария сюда: разыменование указателей функций просто отлично, но результирующая функция обозначе...
согласно Скотту Мейерсу, одна область, где C++ сияет над C, заключается в том, что объекты функций быстрее указателей функций. Он говорит, что это связано с тем, что функциональные объекты встроены, что увеличивает скорость. У меня два вопроса по этому поводу: Как мы можем проверить, что объекты функции, н...
Я пытаюсь сделать функцию, которая принимает символ и возвращает указатель на функцию, в зависимости от того какой характер был. Я просто не уверен, как заставить функцию возвращать указатель на функцию....
на Бьярн Страуструпсайт (C++11 FAQ): struct X { int foo(int); }; std::function<int(X*, int)> f; f = &X::foo; //pointer to member X x; int v = f(&x, 5); //call X::foo() for x with 5 как это работает? Как это std:: function вызов foo функция-член? параметр шаблона int(X*, int), составляет &...