超级简单好用的 C++ 事件系统
实现方法 a. 注册事件通过字符串标记一个事件,以字符串作为事件标记。将注册的函数指针与其相对应。
为了提高速度和效率,可以使用哈希乱序表作为容器
检索某个事件标志(可用哈希表提高性能),多线程遍历所有注册的函数指针
开源:gitee
特点
-
使用简便,响应快速
-
支持可变长度参数传入
- main.cpp
#include "event.hpp"
void helloFunc(PARGOBJ arg_)
{
printf("Hello!!n");
}
void helloFunc2(PARGOBJ arg_)
{
printf("Hello there!n");
}
int main()
{
EventHandler e;
e.addEvnet("Hello", &helloFunc);
e.addEvnet("Hello", &helloFunc2);
for (int i = 0; i < 9; i++)
{
e.callEvent("Hello");
}
}
- stdout
>> Hello!! >> Hello there! >> Hello!! >> Hello there! >> ...构建样例
mkdir build cd ./build cmake .. cmake --build .其他
如有优化方案可联系



