Как стать автором
Обновить

Комментарии 4

struct inner {
    ...
    inner(decltype(args_tuple)&& args) : m_args(std::move(args)) {}
    ...
} i{std::move(args_tuple)};

А почему 2 раза перемещаются аргументы? Недостаточно какого-то одного?

Сперва args_tuple перещается в аргумент конструктора args , а он, в свою очередь, перемещается в поле m_args. Без этого возникло бы копирование

В конструктор можно принять ссылку на args, а только потом использовать мув на ней.

столько кода нагородить, а API как был сишным, так им и остался

отписка должна происходить автоматически через RAII

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации