2

请您提供一个想法,如何在没有特殊库的情况下以简单、优雅和智能的方式在 C++03 中实现基本的 lambda 表达式?他们应该可以做这样的事情:

for_each(some_vector.begin(), some_vector.end(), _first = -5)
sort(some_vector.begin(), some_vector.end(), _first > _last)

我在 StackOverflow 和 Internet 的其他地方看到了很多主题,但不幸的是,我没有找到有用的东西。另一个想法是仔细研究 Boost 的实现,但遗憾的是,我现在的水平不太适合它。

先感谢您!

4

1 回答 1

5

AFAIK,最常见的 lambda 实现技术是表达式模板

这篇文章给出了一个很好的介绍,但你真的应该买一本关于 C++ TMP 的书来获得更多的见解。

于 2011-12-12T15:59:36.550 回答