Re: lambda являются first class citizens?
От: Анатолий Широков СССР  
Дата: 05.05.18 17:52
Оценка: 4 (2)
Здравствуйте, Максим Рогожин, Вы писали:

МР>Привет!

МР>Скажите, пожалуйста, лямбда выражения в C++ являются first class citizens?

Да, посколько результат лямбда выражения это объект (функтор, функциональный объект) типа closure type, который может быть передан в функцию, возвращен из функции, присвоен переменной. Например, код

auto a = [](int){};
a(10);


превратится

struct __closure_unique_type {
   void operator()(int) {}
};
...
__closure_unique_type a;
a(10);
Отредактировано 05.05.2018 18:05 Анатолий Широков . Предыдущая версия . Еще …
Отредактировано 05.05.2018 17:54 Анатолий Широков . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.