// Callback using std::function (modern C++)
// Works with lambdas, functors, and function pointers.
#include <iostream>
#include <functional>
void applyToArray(int arr[], int size, std::function<void(int)> callback) {
for (int i = 0; i < size; i++) {
callback(arr[i]);
}
}
int main() {
int arr[] = { 5, 10, 15, 20 };
int size = sizeof(arr) / sizeof(arr[0]);
// Lambda callback
applyToArray(arr, size, [](int x) {
std::cout << x / 5 << std::endl;
});
}
/*
run:
1
2
3
4
*/