我可以修改函数包装器以便它使用其旧值吗?

时间:2015-08-05 15:40:12

标签: c++ c++11

我可以像这样修改函数包装器吗

std::function<int(int)> a=[](int x){return 2*x;};
a=[f=a](int x){return f(x)+1;};

所以我可以动态构建越来越复杂的函数吗?

1 个答案:

答案 0 :(得分:2)

这主要是因为初始化表达式是在C ++ 14中引入的。

然而,这是C ++ 14中的有效语法。以下是一些证据:http://coliru.stacked-crooked.com/a/5fe0a53953b0421b