Fungsi panggil balik dalam C++ dilaksanakan melalui penuding fungsi atau ungkapan lambda: Penunjuk fungsi: tentukan jenis void(*Fungsi Panggilan Balik)(int); Kelas mendaftarkan fungsi panggil balik dan mencetuskan peristiwa. Ungkapan Lambda: Daftar fungsi panggil balik: RegisterCallback(std::function
Penggunaan fungsi panggil balik dalam C++
Fungsi panggil balik ialah fungsi yang membenarkan fungsi mengembalikan kawalan kepada pemanggil dan kemudian laksana semula apabila syarat tertentu dipenuhi. Ini berguna dalam pengaturcaraan dipacu peristiwa, di mana satu peristiwa boleh mencetuskan berbilang tindakan.
Dalam C++, fungsi panggil balik boleh dilaksanakan melalui penunjuk fungsi atau ungkapan lambda.
Gunakan penunjuk fungsi
// 定义一个函数指针类型 typedef void(*CallbackFunction)(int); // 注册回调函数 void RegisterCallback(CallbackFunction callback) { // 将回调函数存储在列表中 callbackList.push_back(callback); } // 调用回调函数 void CallCallbacks(int value) { for (auto callback : callbackList) { callback(value); } } // 实战案例:事件处理 // 定义一个事件处理类 class EventHandler { public: void OnEvent() { // 调用注册的回调函数 CallCallbacks(42); } }; // 创建事件处理类实例 EventHandler eventHandler; // 订阅事件的回调函数 RegisterCallback([](int value) { std::cout << "事件处理程序: " << value << std::endl; }); // 触发事件 eventHandler.OnEvent();
Gunakan ungkapan lambda
Diperkenalkan dalam C++11, ungkapan lambda menyediakan cara ringkas untuk mentakrifkan fungsi tanpa nama.
rreeeeAtas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi panggil balik dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!