std::bind( F&& f, Args&&... args );
函数模板 bind 生成 f 的转发调用包装器。调用此包装器等价于以一些绑定到 args 的参数调用 f 。
参数
f 可调用 (Callable) 对象(函数对象、指向函数指针、到函数引用、指向成员函数指针或指向数据成员指针)
args 要绑定的参数列表,未绑定参数为命名空间 std::placeholders 的占位符 _1, _2, _3... 所替换
#include <iostream>
#include <functional>
constexpr double multiply(const double multiplicand, const double multiplier) noexcept{
return multiplicand * multiplier;
}
int main(){
const auto result1 = multiply(10.0, 4.2);
auto boundMultiplyFunctor = std::bind(multiply, 10.0, 4.2);
const auto result2 = boundMultiplyFunctor();