今天遇到的一个函数指针的问题
来源:互联网 发布:商业网站的域名 编辑:程序博客网 时间:2024/04/28 13:38
#include <map>
#include <string>
using namespace std;
//事件响应回调函数
typedef bool (__cdecl * EventResponseFunc)(const char * eventname);
//写着玩的。:)
//这是一个事件系统的回调功能的实现;可将函数名称作为参数进行调用,其中适用的就是函数指针的机制。
//也可以进行分类,将事件分类,然后使用详细事件,在每个功能函数中进行分析,再进行不同的处理;
//这里只是一个模型,怎么应用就靠大家去发挥了。祝各位好运喽!
class EventSystem
{
public:
static void DeclareEventFunc(const char * funcname, EventResponseFunc func)
{
EventSystem::eventfunc_map[funcname] = func;
}
static bool DoEventFunc(const char * funcname, const char * eventname)
{
EventResponseFunc func = EventSystem::eventfunc_map[funcname];
return (func)(eventname);
}
protected:
static map <string, EventResponseFunc> eventfunc_map;
};
map <string, EventResponseFunc> EventSystem::eventfunc_map;
#define DECL_EVENT_FUNC(p) EventSystem::DeclareEventFunc(#p, p);
bool Event_Test1(const char * eventname)
{
::printf("Event_Test1");
return true;
}
bool Event_Test2(const char * eventname)
{
::printf("Event_Test2");
return true;
}
bool Event_Test3(const char * eventname)
{
::printf("Event_Test3");
return true;
}
int _tmain(int argc, _TCHAR* argv[])
{
DECL_EVENT_FUNC(Event_Test1)
return 0;
}
- 今天遇到的一个函数指针的问题
- 今天遇到的一个编译问题
- 今天遇到的一个问题及解决方法
- 今天遇到一个诡异的问题
- 今天遇到一个问题,关于ibatis的
- 今天在工作中遇到的一个问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的一个关于HttpSessionListener 的一个问题
- 初学SSDT遇到的一个指针问题
- 向东的BLOG
- EDIT下划线
- 自己写的一个基于web的java树形构件(附效果图)
- 代码生成器(一)(基于接口的工厂模式的三层架构)
- Java基础知识——Java入门与加深
- 今天遇到的一个函数指针的问题
- 李阳培养意志力的十种方法
- 内存大于1GB导致休眠失败
- 教师资格考试练习题
- 右左法则----复杂指针解析
- 江苏城市对应的国家
- asp操作excel文件
- [VisualStudio] 用VB动态创建Access数据库简例
- 如何提供一组支持事务的工作流API