「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」
回调函数
给一个函数传递一个函数指针,在该函数中调用该指针指向的函数,这个被调用的函数称为回调函数。
在学习了可调用对象的概念以后,我们可以传入各种各样的可调用对象,来实现回调功能。
直接上代码
1 | cpp复制代码class TestClass |
通过以上代码我们可以发现,callFunc2形式的函数接口具有很好的通用性,而我们之所以要用回调函数,就是希望多一点“通用性”,让接口调用者决定传入的函数是什么。
callFunc2可以传入任意一种可调用对象进行回调,其参数function<int(int,int)> func
表明了其要求的调用形式或者说函数类型。
并且我们可以发现,如果希望成员函数可以用作回调函数,声明为static是最为方便的,因为这时候不需要提前创建一个对象来进行bind,可以直接当作普通函数传入函数接口。
注:尴尬的是,上面例子我写到一半时,被安全软件提示我写的exe是个病毒,估计和回调函数的某些特征有关,直接误报了。
本文转载自: 掘金