假设我在目录中递归,我有一堆过滤器
这里有多个选项来检查每个文件,并在功能上使用它们作为过滤器。我可以将打开的每个选项都转换为lambda,然后应用一个lambda列表来查看是否包含或排除了某个文件。我还可以将lambdas封装在一起,最后得到一个lambda,它将返回true或false。我已经多次遇到这种模式的可能性,我不知道正确的答案是什么。为了方便起见,我通常选择列一张兰巴达的清单。
发布于 2012-10-08 22:16:40
它们应该和手写函数对象一样高效,可以完成相同的工作,但只需要更少的输入。编译器不需要任何神奇的东西来实现lambda,他们只需要实现一个具有operator()定义的唯一命名类,并为任何捕获的变量声明数据成员。
https://stackoverflow.com/questions/12774026
复制相似问题