【发布时间】:2020-09-11 01:43:05
【问题描述】:
来自https://en.cppreference.com/w/cpp/utility/functional/function
void print_num(int i)
{
std::cout << i << '\n';
}
int main()
{
// store a free function
std::function<void(int)> f_display = print_num;
f_display(-9);
// store a lambda
std::function<void()> f_display_42 = []() { print_num(42); };
f_display_42();
}
与以前的方法相比,将 lambda 存储到名称中的优势是什么?
【问题讨论】:
-
答案是“类型擦除”
标签: c++ c++11 std-function