example2_callback_using_function.cpp

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <functional>

// A function that takes a std::function callback
void process(int x, std::function<void(int)> callback) {
    std::cout << "Processing value: " << x << std::endl;
    callback(x);  // Invoke the callback function
}

// A callback function
void myCallback(int result) {
    std::cout << "Callback called with value: " << result << std::endl;
}

int main() {
    int value = 42;
    process(value, myCallback);  // Pass the callback function using std::function

    // Alternatively, using a lambda as a callback
    process(value, [](int result) {
        std::cout << "Lambda callback called with value: " << result << std::endl;
    });

    return 0;
}
Back to callbacks