Вопросы с тегом 'function-pointers'

Указатель функции - это указатель на функцию, которая может быть сохранена в переменной. Он позволяет во время выполнения каждой функции запускать.
12 отв.

Как работают указатели функций в C?

У меня был некоторый опыт в последнее время с указателями функций в C. Итак, продолжая традицию отвечать на ваши собственные вопросы, я решил сделать небольшое резюме самых основоположений, для тех, кому нужно быстрое погружение в тему.
08 мая '09 в 18:49
21 отв.

Какая ближайшая замена для указателя функции в Java?

У меня есть метод, содержащий около десяти строк кода. Я хочу создать больше методов, которые будут делать то же самое, за исключением небольшого вычисления, которое изменит одну строку кода. Это идеальное приложение для передачи указателя функции дл...
23 сент. '08 в 20:20
10 отв.

Функции обратного вызова в С++

В C++, когда и как вы используете функцию обратного вызова? РЕДАКТИРОВАТЬ: Я хотел бы увидеть простой пример для написания функции обратного вызова.
19 февр. '10 в 20:16
8 отв.

"распаковка" кортежа для вызова соответствующего указателя функции

Я пытаюсь сохранить в std::tuple переменное количество значений, которое позже будет использоваться в качестве аргументов для вызова указателя функции, который соответствует сохраненным типам. Я создал упрощенный пример, показывающий проблему, кото...
22 окт. '11 в 13:19
13 отв.

C не так сложно: void (* (* f [])())()

Я только что увидел картину сегодня и думаю, что буду благодарен за объяснения. Итак, вот картина: Мне показалось, что это сбивает с толку и задается вопросом, являются ли такие коды практичными. Я искал картинку и нашел другую картинку в this re...
31 дек. '16 в 19:01
2 отв.

Почему определения указателей функций работают с любым количеством амперсандов '&' или звездочек '*'?

Зачем нужна следующая работа? void foo() { cout << "Foo to you too!\n"; }; int main() { void (*p1_foo)() = foo; void (*p2_foo)() = *foo; void (*p3_foo)() = &foo; void (*p4_foo)() = *&foo; void (*p5_foo)() = &am...
01 авг. '11 в 3:37
6 отв.

Понимание typedefs для указателей функций в C

Я всегда был немного в тупике, когда читал код других народов, который имел typedefs для указателей на функции с аргументами. Я помню, что мне потребовалось некоторое время, чтобы обойти такое определение, пытаясь понять численный алгоритм, написанны...
20 окт. '09 в 0:55
7 отв.

Передача лямбда-захвата в качестве указателя на функцию

Можно ли передать лямбда-функцию в качестве указателя функции? Если это так, я должен делать что-то неправильно, потому что получаю ошибку компиляции. Рассмотрим следующий пример using DecisionFn = bool(*)(); class Decide { public: Decide(Deci...
26 февр. '15 в 18:45
18 отв.

Функции обратного вызова в Java

Есть ли способ передать функцию обратного вызова в методе Java? Поведение, которое я пытаюсь имитировать, - передать делегат .Net делегату функции. Я видел людей, предлагающих создать отдельный объект, но это кажется излишним, однако я знаю, что ин...
14 янв. '09 в 19:40
2 отв.

Как работает код C, который печатает от 1 до 1000 без циклов или условных операторов?

Я нашел код C, который печатает от 1 до 1000 без циклов или условных обозначений: Но я не понимаю, как это работает. Может ли кто-нибудь пройти через код и объяснить каждую строку? #include <stdio.h> #include <stdlib.h> void main(int j...
29 окт. '11 в 11:30
11 отв.

Указатели функций в Java

Это может быть что-то общее и тривиальное, но мне, кажется, не удается найти конкретный ответ. В С# существует понятие делегатов, которое сильно относится к идее указателей на функции из С++. Есть ли аналогичная функциональность в Java? Учитывая, что...
02 июля '09 в 12:19
14 отв.

Почему указатели на функции и указатели данных несовместимы в C/С++?

Я прочитал, что преобразование указателя функции в указатель данных и наоборот работает на большинстве платформ, но не гарантируется. Почему это так? Не должны ли быть оба адреса в основной памяти и поэтому быть совместимы?
10 сент. '12 в 23:21
9 отв.

Как я могу использовать массив указателей функций?

Как использовать массив указателей функций в C? Как я могу их инициализировать?
31 окт. '08 в 9:45
3 отв.

Использование общих объектов std:: function с функциями-членами в одном классе

Для одного класса я хочу сохранить некоторые указатели на функции-члены одного и того же класса в одном map сохранении объектов std::function. Но я не могу с самого начала с этим кодом: class Foo { public: void doSomething() {} ...
28 сент. '11 в 14:30
10 отв.

Вызов методов класса С++ с помощью указателя функции

Как получить указатель на функцию для функции класса, а затем вызвать эту функцию-член с определенным объектом? Id нравится писать: class Dog : Animal { Dog (); void bark (); } … Dog* pDog = new Dog (); BarkFunction pBark = &Dog::bark; ...
28 сент. '09 в 11:30