bind
bind 用来将可调用对象和参数一起进行绑定。可调用对象包括普通函数、全局函
数、静态函数、类静态函数甚至是类成员函数,参数包括普通参数和类成员。绑定后的
结果,可以使用 std::function 进行保存,并延迟调用到我们需要的时候。
绑定普通函数与参数及占位
bind 绑定顺序,也就是函数中形参的声明顺序。
placeholders::_x 中的序列是实参的顺序。
# if 1
//bind
#include <iostream>
#include <functional>
using namespace std;
double myDivide (double x, double y)
{
return x/y;
}
int main(){
auto myFunc = bind(myDivide, 10, 2);
cout << myFunc() << endl;
auto myFunc1 = bind(myDivide, 10,placeholders::_1);
cout << myFunc1(2) << endl;
//placeholders::_1 占位符,表示第一个参数,2表示第二个参数
auto myFunc2 = bind(myDivide, placeholders::_2,placeholders::_1);
cout << myFunc2(10,2) << endl;
auto myFunc3 = bind(myDivide, placeholders::_1,placeholders::_2);
cout << myFunc3(