我正在尝试添加两个c ++ lambda函数。我的意思是:
假设您有两个函数f,g每个函数都有一个或多个参数,那么说f(x,y)和g(x,y)。我想将它们都添加到新的函数h中,如下所示:
h = f + g
Run Code Online (Sandbox Code Playgroud)
评估应该像这样工作:
h(x,y) = f(x,y) + g(x,y)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试了以下代码,但是它不起作用。末尾的“ cin”正好可以防止控制台自动关闭。
#include <iostream>
#include <functional>
using namespace std;
function<int (int,int)> add(function<int(int, int)> g, function<int(int, int)> f)
{
return [&](int x, int y)->int{return g(x, y) + f(x, y); };
}
int main()
{
int i = 0;
function<int (int,int)> sum = [](int x, int y)->int { return x + y; };
function<int (int,int)> mul = [](int x, …Run Code Online (Sandbox Code Playgroud) c++ lambda functional-programming function visual-studio-2013