代码点读机 / C++ / std::function

std::function C++ · STL

多态函数包装器,能存储任何可调用对象(函数、lambda、bind 表达式、函数对象),统一按签名调用。

怎么用

std::function<返回类型(参数类型)> 名;

小例子

std::function<int(int)> f = [](int x){ return x * 2; };
std::cout << f(3);

运行结果

6

提醒:调用空的 std::function 会抛 std::bad_function_call;有类型擦除开销

官方文档:https://en.cppreference.com/w/cpp/utility/functional/function

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C++全部词条