Вопросы по теме 'generic-lambda'

Когда использовать шаблон функции вместо универсальной лямбда-выражения?
Я могу написать шаблон функции: template<typename T> void f1(T parameter) { ... } Но в C++14 я также могу создать общую лямбду: auto f2 = [](auto parameter) { ... }; В пределах f1 я могу напрямую ссылаться на T . Внутри f2...
360 просмотров
schedule 24.12.2022

узнать тип авто
Я играю с общей лямбдой в С++ 1y, и меня часто смущает незнание типа переменной/параметра auto . Есть ли хороший способ узнать это? В настоящее время я использую typeid(decltype(arg)).name()) , но это не очень полезно. @encode дает немного...
1414 просмотров
schedule 03.06.2024

Общие лямбда-выражения: синтаксический сахар или нет?
Приносят ли универсальные лямбда-выражения С++ 14 реальное улучшение языка или они являются своего рода синтаксическим сахаром? Бывают ли ситуации, когда [](auto param1, auto param2, /* ... */ auto paramN) { return /* ... */; } нельзя...
1088 просмотров

Как получить типы из пакета вариативных параметров в общей лямбде?
Я пытаюсь написать функцию, которая будет возвращать общую лямбду с вариативными аргументами, где лямбда проверяет, равен ли один из аргументов определенному значению. Вот (примерно) то, что я пытаюсь сделать: template <int Index, typename...
969 просмотров

Относительно лямбда-функций в С++
Я давно работаю с C++, но только недавно начал играться с лямбда-выражениями. У меня есть следующий пример, который доставляет мне некоторые проблемы с его выяснением (почему он ведет себя так). Имейте в виду, что это всего лишь пример фрагмента....
39 просмотров

ограничения и использование лямб-ов шаблонов C ++ 20
Пара связанных вопросов для гуру стандартов C ++. Входящая в C ++ 20 вводит лямбда-выражения шаблонов ( P0428R2 ). Так что вместо auto x = [](auto x, auto y){ return x+y; }; мы можем указать параметр шаблона следующим образом auto...
260 просмотров

Как сделать дерево выражений «Join» с помощью Generic, а строка имеет внутреннее и внешнее выражение
ЗАЧЕМ МНЕ ЭТО НУЖНО: Программа, над которой я работаю, имеет универсальный конструктор запросов, который использует выражение.trees для динамического запроса всех таблиц базы данных. С простым выбором и несколькими сотнями или тысячами данных он...
14 просмотров

Как создать шаблон класса, который оборачивает функцию в вызываемый объект, который нельзя обнаружить, кроме как для использования в качестве пользовательского удаления std::unique_ptr?
Можно ли использовать тип объекта и бесплатные функции в качестве параметров для создания пользовательских средств удаления для std::unique_ptr ? Я новичок в шаблонах и пришел сюда: #include <memory> template<typename T, typename...
101 просмотров