摘要:
回调函数在C语言中用的非常频繁,它可以作用于结构体,但是到了C++中,类的成员函数是不能作为回调函数的。详细说来,C的结构体中的函数都是函数指针,调用的时候一般不操作结构体内的数据否则要显式地在调用时传入结构体的数据,即C中没有this这个概念。到了C++,假设类成员函数可以作为回调函数,那么这个函数对类成员变量的操作作用于哪个实例呢?这显然是无法确定的,只有主动告知之。关于this指针:看过C++类汇编代码的同志们都知道,在类实例调用它的成员函数时,call之前一定会有一步 mov ecx, [ebp-xxx]这个指令就是根据栈基址找到改实例在栈中的地址,并放入ecx中;在被调用的函数中,. 阅读全文