Здравствуйте, Максим Рогожин, Вы писали:
МР>Привет!
МР>Скажите, пожалуйста, лямбда выражения в C++ являются first class citizens?
Да, посколько результат лямбда выражения это объект (функтор, функциональный объект) типа closure type, который может быть передан в функцию, возвращен из функции, присвоен переменной. Например, код
auto a = [](int){};
a(10);
превратится
struct __closure_unique_type {
void operator()(int) {}
};
...
__closure_unique_type a;
a(10);