发布网友 发布时间:2022-05-23 21:13
共1个回答
热心网友 时间:2024-03-09 05:11
C语言里没有对象,只有过程,也即只有全局函数,回调函数实际上就是通过函数指针对参数进行回调。
C++里有了对象,除了原来C的全局函数外还有类的静态函数和成员函数,类静态函数跟类对象没有关系,实质跟全局函数一样的。成员函数是跟对象有关,在编译的时候会在成员函数的第一个参数前插入一个参数即对象的指针this,从而编译成全局函数。
显然成员函数单独做回调是不可能的,必须得成员函数和对象一起才行。
所以c++还有成员函数指针,只是很多C++入门书籍都不会讲这个。
比如:
class AC++11标准有了std::function范型类后,回调就方便多了。详情可以网上搜一下相关的专题blog,比如:网页链接