Введение в вызываемые объекты в C++
Вызываемый объект в простейшем виде - это функция с известной сигнатурой.
Имя функции в выражении превращается в адрес
ее тела, если не идет сразу за ним список
аргументов. Такой адрес кладут в
указатель на функцию с тем же типом
параметров и возвращаемого значения.
Запишем указатель на функцию с одним
int и вызовем ее из main:
#include <iostream>
void print(int value) {
std::cout << value << "\n";
}
int main() {
void (*fp)(int) = &print;
fp(1);
return 0;
}
Тип void (*fp)(int) читают как указатель
на функцию, принимающую int и не
возвращающую значение. Амперсand перед
print можно опустить - адрес берут
и без него.