C/C++ callback functions
Jeg har med jævne mellemrum brug for lave callbacks i C/C++, men kan aldrig rigtigt huske, hvordan det nu er, det skal laves.
Derfor er dette bare et simpelt eksempel hvordan det gøres, så jeg har et sted, at kopiere fra 🙂
#include <iostream> #include <string> using namespace std; // // Functions to be called as callback // static void printHelloWorld() { cout << "!!!Hello World!!!" << endl; } static void printHelloName(string name) { cout << "!!!Hello " << name << "!!!" << endl; }; // // Callback function // typedef void (*callbackFunction1_t)(); static void callbackFunction(callbackFunction1_t callbackFunction) { callbackFunction(); } typedef void (*callbackFunction2_t)(string argument); static void callbackFunction(callbackFunction2_t callbackFunction) { string name = "Flemming Jahn"; callbackFunction(name); } // // How to use the callback functions // int main() { while (1) { callbackFunction(printHelloWorld); callbackFunction(printHelloName); }; }