Function Pointers¶
Definition¶
A function pointer stores the address of a function with a compatible signature.
int add(int a, int b);
int (*ptr)(int,int) = &add; // '&' optional; function name decays to pointer
int r = ptr(2,3); // 5
Callbacks¶
void process(int* arr, int n, void (*op)(int)) {
for (int i=0;i<n;++i) op(arr[i]);
}
Cautions¶
Signature must match exactly.
No state capture (unlike lambdas/functors).