Любое решение, чтобы распаковать вектор для аргументов функции в C ++?

На самом деле я думаю о чем-то похожем на «*»; оператор в питоне так:

args = [1,2,4]
f(*args)

Есть ли подобное решение в C ++?

Я могу придумать следующее:

template <size_t num_args, typename FuncType>
struct unpack_caller;

template <typename FuncType>
struct unpack_caller<3>
{
    void operator () (FuncType &f, std::vector<int> &args){
        f(args[0], args[1], args[3])
    }
};

Выше я предполагаю толькоint тип аргумента.

Проблема в том, что я чувствую, что написать все специализации unpack_caller для разных значенийnum_args.

Любое хорошее решение для этого? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос