手机
当前位置:查字典教程网 >编程开发 >C语言 >C#委托所蕴含的函数指针概念详细解析
C#委托所蕴含的函数指针概念详细解析
摘要:原则:1、函数指针,实际上是函数编码后的指令在内存中的首地址,在C++/C中,这个地址可以用函数名直接使用一个函数调用另一个函数的时候,就可...

原则:

1、函数指针,实际上是函数编码后的指令在内存中的首地址,在C++/C中,这个地址可以用函数名直接使用

一个函数调用另一个函数的时候,就可以把被调用函数以函数指针的形式作为参数传入

2、回调函数callback使用的技术就是函数指针:

回调函数就好像是一个中断处理函数,系统在符合你设定的条件时自动调用。为此,你需要做三件事:

1). 声明;

2). 定义;

3). 设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便于DLL调用。

回调函数是应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件。应用程序把回调函数的地址指针告诉DLL,而DLL在适当的时候会调用该函数。回调函数必须遵守事先规定好的参数格式和传递方式,否则DLL一调用它就会引起程序或系统的崩溃。通常情况下,回调函数采用标准WindowsAPI的调用方式,即__stdcall,当然,DLL编制者可以自己定义调用方式,但客户程序也必须遵守相同的规定。在__stdcall方式下,函数的参数按从右到左的顺序压入堆栈,除了明确指明是指针或引用外,参数都按值传递,函数返回之前自己负责把参数从堆栈中弹出。

3、C#中用委托这种概念实现了函数指针技术而已,另外.ent提供额外的安全性,当然也损失了灵活性

【C#委托所蕴含的函数指针概念详细解析】相关文章:

STl中的排序算法详细解析

C/C++宏定义的可变参数详细解析

C语言的指针类型详细解析

二叉搜索树的插入与删除(详细解析)

一般函数指针和类的成员函数指针深入解析

C++指向类成员函数的指针详细解析

C++中的操作符重载详细解析

C/C++动态分配与释放内存的区别详细解析

共用体的定义与应用详细解析

成员初始化列表与构造函数体中的区别详细解析

精品推荐
分类导航