自己写的回调函数的注册与使用例子,请多指教
来源:互联网 发布:陕西大数据集团前景 编辑:程序博客网 时间:2024/06/05 06:56
自己写的对回调函数的注册与使用实例,希望高手指教。
#include <iostream>
using namespace std;
#define MAXSIZE 4
enum OPT{ADD, RED, MUL, DIV}; //加,减,乘,除
typedef int (*OptFun)(int, int);
int add(int a, int b)
{
return a + b;
}
int reduce(int a, int b)
{
return a - b;
}
int multiply(int a, int b)
{
return a * b;
}
int divide(int a, int b)
{
if(b != 0)
return a / b;
else
exit(-1);
}
static OptFun cb_fun_list[MAXSIZE] = {add, reduce, multiply, divide};
typedef struct
{
int index;
int (*call_fun)(int, int);
}CALL_BACK_INFO;
int regCBFun(CALL_BACK_INFO *cb_info)
{
if(cb_info)
{
switch(cb_info->index)
{
case ADD:
cb_info->call_fun = cb_fun_list[ADD];
break;
case RED:
cb_info->call_fun = cb_fun_list[RED];
break;
case MUL:
cb_info->call_fun = cb_fun_list[MUL];
break;
case DIV:
cb_info->call_fun = cb_fun_list[DIV];
break;
default:
break;
}
return cb_info->index;
}
return -1;
}
int main()
{
CALL_BACK_INFO cbInfo;
cbInfo.index = MUL;
int cb_fun_id;
int a = 10, b = 4;
if((cb_fun_id = regCBFun(&cbInfo)) != -1)
{
cout << cbInfo.call_fun(a, b) << endl;
}
return 0;
}
- 自己写的回调函数的注册与使用例子,请多指教
- 自己重新写的KeUserModeCallBack 例子,比网上的代码改进很多,请大家指教!
- 原创】自己重新写的KeUserModeCallBack 例子,比网上的代码改进很多,请大家指教!
- 自己写的java 2048,请大家指教
- 回调函数与简单的例子
- 轻松使用自己的回调函数
- 轻松使用自己的回调函数
- 轻松使用自己的回调函数
- 轻松使用自己的回调函数
- 轻松使用自己的回调函数
- 轻松使用自己的回调函数
- 写了个datagridview合并表头的例子,请多指教!
- 自己写的一种仿qq留言,评论的简单实现方式。请多指教
- 本自己写的一个 记事本代码 有些地方不足请多指教
- 回调函数的例子
- 回调函数的例子
- 回调函数的例子
- 回调函数的例子
- Linux中brk()系统调用,sbrk(),mmap(),malloc(),calloc()的异同
- 借口也是类。也要声明一个对象来调用
- 大型企业Unix服务器的自动化运维
- OC学习笔记之C中的运算符
- jquery基础精华04(02)
- 自己写的回调函数的注册与使用例子,请多指教
- Javascript正则表达式
- 关于Android 下拉刷新,上拉加载更多数据功能的详细解析
- 数据库范式详解
- DeepID算法实践
- Markdown Test
- Android OOM原因总结
- Android实现二维码扫描登录网页
- HDOJ 爆栈