【Example】C++ 回调函数及 std::function 与 std::bind
回调函数是做为参数传递的一种函数,在早期C样式编程当中,回调函数必须依赖函数指针来实现。
创新互联公司-专业网站定制、快速模板网站建设、高性价比东川网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式东川网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖东川地区。费用合理售后完善,10年实体公司更值得信赖。
而后的C++语言当中,又引入了 std::function 与 std::bind 来配合进行回调函数实现。
标准库中有大量函数应用到了回调函数,其中 std::sort 就是一个经典例子。
一,回调函数
回调函数的创建步骤大概为:
1,声明一个函数指针类型。
2,拟写使用回调函数的函数,将函数指针类型及变量名声明作为参数传递。
3,拟写符合函数指针类型的实现函数,将实现函数的指针作为参数传递给使用它的函数。
下面演示了一个最简单的回调函数定义及使用:
typedef int (*Calc)(int a, int b); int CalcValue(int a, int b, const Calc &func) { return func(a, b); } int Add(int a, int b) { return a + b; } int main() { int a = 4; int b = 6; int c = CalcValue(a, b, Add); std::cout<< "Value:" << c << std::endl; return EXIT_SUCCESS; }
标题名称:【Example】C++ 回调函数及 std::function 与 std::bind
URL分享:http://scyanting.com/article/dsogocd.html