在C ++中优雅移植lambda表达式

时间:2011-06-27 16:25:30

标签: c++ gcc c++11 lambda

由于lambda表达式需要GCC版本> 4.4:将包含几个带有引用绑定变量的lambda表达式的代码移植到前C ++ 0x代码中的最优雅或最快(但不是太'脏')的方法是什么?

这可以使用模板/宏以半自动方式完成吗?

2 个答案:

答案 0 :(得分:6)

也许你应该看看boost::lambda。这应该做你想要的。

答案 1 :(得分:2)

(免责声明:我正在链接到我自己的网站。)

大约一年前,我在a blog post of mine上添加了一些有用的宏。我不知道它有多便携,而且非常有限。但对于简单的表达方式,它运作良好。

请注意,我自己并没有找到太多用途,所以它不能那么好: - )

sort(vs.begin(), vs.end(),
YALM(bool,vector<int>&,vector<int>&,return l.size() < r.size()  )
);