zwb8848happy的专栏

为找个漂亮老婆而读书

CALLBACK总结
CALLBACK函数在微软的官方手册中是这样定义CALLBACK函数的:“CALLBACK函数是由应用程序 
定义而由操作系统调用的函数”。 

凡是由用户设计而却由Windows系统调用的函数,统称为Callback函数,这些函数都有一定的类型,以配合Windows的调用操作。   


某些API函数以Callback作为其参数之一,这些API,如SetTimer、LineDDA、EnumObjects。

通常这种API会在进行某种行为之后或满足某种状态之时调用该Callback函数。另外,如果类的成员函数是一个Callback函数,它必须被声明为”static”,才能把C++编译器加诸于函数的一个隐藏参数this去掉。 

  

那为什么要去掉this指针呢?因为callback函数是给windows函数调用的,Windows并不借助任何对象调用该函数。

如果去掉static的话,就会导致堆栈中有一个随机变量会成为this指针,而结果就是程序的崩溃。

记住:凡在类中声明为static的东西(不管是函数或变量)都并不和对象结合在一起,它们是类的一部分,不属于对象。  


阅读更多
想对作者说点什么? 我来说一句

CallBack实例

2009年08月07日 3KB 下载

Delphi MIDAS 回调 (CallBack)

2011年11月16日 620KB 下载

C++中回调(CallBack)的使用思路

2010年08月24日 74KB 下载

callback測試

2014年04月10日 109B 下载

没有更多推荐了,返回首页

不良信息举报

CALLBACK总结

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭