相关疑难解决方法(0)

std :: function如何工作

你知道,我们可以将lambda函数包装或存储到std::function:

#include <iostream>
#include <functional>
int main()
{
    std::function<float (float, float)> add = [](float a, float b)
    //            ^^^^^^^^^^^^^^^^^^^^
    {
        return a + b;
    };

    std::cout << add(1, 2) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是std::function,你可以看到它是一个模板类,但它可以接受任何类型的函数签名.

例如,float (float, float)在这种形式return_value (first_arg, second_arg).

std::function它的结构是什么以及如何接受函数签名x(y,z)以及如何使用它?是float (float, float)C++中一个新的有效表达式?

c++ c++11

66
推荐指数
1
解决办法
6974
查看次数

标签 统计

c++ ×1

c++11 ×1