std::function
类模板 std::function 是一个通用的多态函数封装器。std::function 实例可以存储、复制和调用任何可复制构造的(CopyConstructible)可调用对象(Callable) 目标——函数(通过其指针)、lambda 表达式、bind 表达式,或其他函数对象,以及指向成员函数的指针和指向数据成员的指针。
存储的可调用对象称为 std::function 的目标。如果 std::function 不包含目标,则称其为空的。调用空的 std::function 的目标会导致抛出 std::bad_function_call 异常。