Простые лямбда-выражения C ++ 03 без форсирования и т. Д. - PullRequest
2 голосов
/ 12 декабря 2011

Не могли бы вы дать представление о том, как реализовать простые лямбда-выражения в C ++ 03 без специальных библиотек простым, элегантным и умным способом?Они должны позволить сделать что-то вроде этого:

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

Я видел много тем о StackOverflow и в других местах в Интернете, но, к сожалению, я не нашел ничего полезного.Другая идея - внимательно изучить реализацию Boost, но, к сожалению, мой уровень сейчас не очень подходит для этого.

Заранее спасибо!

1 Ответ

5 голосов
/ 12 декабря 2011

AFAIK, наиболее распространенным методом реализации для лямбд являются шаблоны выражений .

Эта статья дает отличное введение, но вы должны получить одну из книг по C ++ TMP, чтобы получить более глубокое понимание.

...