Re[6]: lambda являются first class citizens?
От: kov_serg Россия  
Дата: 06.05.18 12:46
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:

АШ>Я уже ответил, массив различных лямбда выражений не существует в С++, они ничем не связаны. Хочешь массив, объявляй массив указателей на функцию и приводи к ним лямбда выражения без захвата.

Причем тут чего я хочу. Я просто сказал, что это костыли, а не типы данных. Тем более не "first class citizen".
То что в C++ это сделано через жопу, я не виноват. А вы просто констатируете факт что для этих костылей нужны еще костыли в виде указателей на функцию (тут одельная песня).
Для "first class citizen" int и double я могу написать такое
struct A {
    enum { N=3 };
    int x[N]; double y[N];
    virtual void fn(int x) {}
    virtual void fn(double x) {}
};
А для лямд не могу. Поэтому этот тип данных убог и ущербен и никак не "first class citizen" т.к на него есть куча ограничений.
Отредактировано 06.05.2018 12:52 kov_serg . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.