Я видел много примеров кодов, которые используют рекурсию для извлечения значений из пакета параметров. Есть ли способ, кроме рекурсии, извлечь значения из пакета параметров?
Вы можете переслать все параметры пакета как кортеж, затем вызвать get<0>:
get<0>
template<class ... Args> void foo(Args&& ... args) { auto&& first = std::get<0>(std::forward_as_tuple(std::forward<Args>(args)...)); }
Конечно, вызовите другую функцию:
template <typename First, typename ...Args> auto&& firstArg(First&& first, Args&&...) noexcept { return std::forward<First>(first); }