Information
- Rating
- 6,656-th
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Архитектор программного обеспечения
PostgreSQL
C#
C++
Linux
Docker
Kubernetes
Высоконагруженные системы
Проектирование архитектуры приложений
Проектирование баз данных
Для примера:
Аргумент (std::move(context), std::make_unique()) будет вычислен, но неопределенного поведения в context->task_runner() не будет, т.к. перемещеия в данном случае не будет.
Ну и подписываться/отписываться (dbms_alert.register/remove) на сигнал внутри процедуры не имеет смысла.
Которые можно применять на месте:
Польный пример
А далее все функции имеют вложенный шаблон call:
Таким образом сами функции более не являются шаблоном от параметров, и ими можно оперировать как другими объектами — положить в список, вернуть в виде результата другой функции и т.п.
Можем, если вынести враппер на уровень выше:
Забавно, что схожее предложение на днях было опубликовано в рамках WG21.
С другой стороны данная статья может быть использована как наглядный пример для дальнейшего устранения недостатков лямбд (variadic move-capture, const mutable lambda call, rvalue lambda и т.д.)