Элегантное портирование лямбда-выражений в C ++ - PullRequest
5 голосов
/ 27 июня 2011

Поскольку для лямбда-выражений требуется версия GCC> 4.4: какой самый элегантный или самый быстрый (но не слишком «грязный») способ переноса кода, содержащего пару лямбда-выражений со ссылочными переменными, в код, предшествующий C ++ 0x

Можно ли это сделать полуавтоматическим способом с использованием шаблонов / макросов?

Ответы [ 2 ]

6 голосов
/ 27 июня 2011

Может быть, вам стоит взглянуть на boost :: lambda . Это должно сделать то, что вы ищете.

2 голосов
/ 27 июня 2011

(Отказ от ответственности: я ссылаюсь на свой собственный сайт.)

Около года назад я поместил несколько полезных макросов в своем блоге .Я не знаю, насколько она портативна, и она довольно ограничена.Но для простых выражений это работает хорошо.

Обратите внимание, что я сам не нашел в этом особого смысла, так что это не может быть так хорошо: -)

sort(vs.begin(), vs.end(),
YALM(bool,vector<int>&,vector<int>&,return l.size() < r.size()  )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...