C++里的回调
来源:互联网 发布:西安爱知中学怎么样 编辑:程序博客网 时间:2024/06/06 01:49
程序设计在某些时候,是需要用到回调的,一般用来接触模块或类之间的耦合,提高扩展性。C里的回调,直接用函数指针,在C++中,如果回调的是全局函数或类的静态函数,也可以直接用函数指针,但涉及到具体对象的回调,直接函数指针的回调就行不通了。这时候,需要包装一下,把成员函数和类对象包装在一起。
typedef void (*dataConvert)(variant var);
需要回调某类的成员函数时,
class A{
public:
void dataConvert(variant var);
};
A a;
这时候类的成员函数和回调函数可以把类对象包进去。
typedef void (*dataConvert)(void* object, variant var);
class A{
public:
static void Wrapper_Call_Back_dataConvert(void* object, variant var)
{
A* pObject = static_cast<A*>(object);
pObject->dataConvert(var);
}
private:
void dataConvert(variant var);
};
这样,宿主只需要知道一个对象指针
- C语言里的结构
- C盘里的问题
- C语言里的递归
- C里的宏注意
- C语言里的字符串
- 说说 Objective-C 里的 @()
- C语言里的指针
- C语言里的str
- C里的递归算法
- 说说 Objective-C 里的 @()
- 说说 Objective-C 里的 @()
- C语言里的strcpy()
- C++里的回调
- [C#] Winform里调用系统里默认的邮件客户端
- c语言里如何调用汇编里的变量?
- msdn里的C++unary_function的例子
- C++primer里的template的用法
- 关于C里的自增操作
- Metasploit学习资料
- armasm: Use of MRS and MSR instructions ('Deprecated form of PSR field specifier')
- LM3S8962通过按键画图
- 严重推荐一个介绍HMTL5的网页,很棒!
- poj 1679 The Unique MST
- C++里的回调
- Silverlight使用小结
- Android 內核、啟動信息 的大致分析
- 有效利用ASP.NET用户控件的事件委托
- SZNOI-Pack 装箱问题 题解
- 与LR作者Robert Green交流之后····
- 新建文章17discount ghds iv
- Qt 中文乱码解决
- 图形编辑软件