一点碎碎念
其实很早以前就好奇这种东西了,最早接触到的是 C++98 的 std::bind_1st 和 std::bind_2nd,后来是 C++11 的 std::bind,现在看看 Chromium 里面也有一套 Bind ~
什么是 Bind
Bind 在本文中是指 base::Bind{Once,Repeating}。对于 base::BindOnce,返回值是一个 base::OnceCallback,字面意思就是只能执行一次的回调函数;而 base::BindRepeating 则返回一个 base::RepeatingCallback,也就是可以执行多次的回调。Bind 的作用就是将可调用的对象(包括 lambda 表达式、普通函数、成员函数等)和一些预定义的参数值“绑定”在一起,成为一个新的可调用对象,常用于回调函数需要上下文的情况。
