Часто возникает необходимость запускать функцию используя указатель на неё.
Сделать это довольно просто!
Рассмотрим на примере.
Как всегда поточная библиотека и пространство имён:
#include <iostream>
using namespace std;
К примеру будем запускать функцию с целочисленным аргументом, которая ничего не возвращает:
void my_int_func(int a) {
cout << «Аргумент: » << a << endl;
}
Теперь самое интересное! Функция main:
int main() {
void (*foo)(int); // объявляем указатель на функцию
foo = &my_int_func; // приписываем адрес функции указателю на неё
foo(1); // используем
foo(22); // и ещё раз
return 0;
}
В первой строке мы создали указатель на функцию (объявили). Как видите, первый параметр — имя. * значит что это указатель конечно 😉
Затем в скобках перечисляем типы будущих аргументов нашей функции .. Да и всё ..
Во второй строке — присваиваем указателю адрес заготовленной функции.
После чего можно пользоваться новым именем.