Dado que las expresiones lambda requieren la versión GCC> 4.4: ¿cuál es la forma más elegante o más rápida (aunque no demasiado "sucia") de portar código que contiene un par de expresiones lambda con variables de referencia código pre-C++ 0x?Transferencia elegante de expresiones lambda en C++
¿Se puede hacer esto de forma semiautomática utilizando plantillas/macros?
+1. Usé boost :: lambda un poco, pero me pareció bastante incómodo en algunos aspectos. No puedes usar métodos directamente en los lambda args. Por ejemplo, no puede hacer 'sort (v.begin(), v.end(), _1.size() <_2.size())' pero puede hacer 'sort (v.begin(), v. end(), f (_1)
A partir de Boost 1.47 (que actualmente se encuentra en fase beta y se lanzará en las próximas dos semanas), Boost.Lambda está oficialmente en desuso y reemplazado por [Boost.Phoenix v3] (http://beta.boost.org/libs/phoenix/index.html), por lo que Boost.Phoenix es una mejor recomendación en este momento. – ildjarn
@ Aaron: Boost.Phoenix contiene [envoltorios para todos los contenedores y algoritmos de bibliotecas estándar] (http://beta.boost.org/libs/phoenix/doc/html/phoenix/modules/stl.html), por lo que se parece a 'sort (v.begin, v.end(), size (_1)
ildjarn