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

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

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

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

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

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

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

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

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

В С++, когда и как вы используете функцию обратного вызова? EDIT: Я хотел бы увидеть простой пример для записи функции обратного вызова.
задан 19 февр. '10 в 20:16
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
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
16
ответов

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

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

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

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

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

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

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

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