Здравствуйте, _NN_, Вы писали:
_NN>Если без шаблоном то очевидно никак нельзя заранее указать тип лямбды потому как он выводится из самой лямбды. _NN>Однако мы можем указать тип после и передать лямбду в качестве параметра тем самым имея нешаблонную функцию и отвечая требованию 1.
Вы смотрите со стороны C++. Если даже если это реализовано неудачно вы будете настаивать на обратном.
Вот представте что тип для каждого целого числа был уникален. Очень удобно да?
_NN>Во вторых оператор ?: требует одинаковые типы, а типы не одинаковые.
Дык в этом и есть претензия что работать напрямую с ними нельзя. Только через переходники и другие типы.
_NN>Тут у нас похоже разные трактования 'assigned into a variable'. _NN>Я считаю, что если можно создать объект и передать ему значение, то требование выполняется.
Посмотрите как сделано в других языках и поймёте что в C++ не лучшая реализация.
_NN>Для лямбды копирование запрещено, но есть перемещение _NN>Получается по этой логике тип с приватным конструктором либо с запретом на конструктор копирования или присваивания не является first-class, так ?
Это уже особенности развития C++(n+1).
Я вот одного не пойму почему каждый считает своим долго защищать глупости которые постоянно добавляют в стандарт.
При этом с пеной у рта доказывать что реализовать можно только так и никак иначе и ещё ссылку на стандарт кинуть.
Как-будто это доказательство, что это истина в последней инстанции. Это напоминает про милион мух которые не могут ошибаться.