Подтвердить что ты не робот

С++ 0x variadic template pass by reference

Я хочу использовать функцию вариационного шаблона для моего приложения, но я не хочу, чтобы объекты передавались по значению (поскольку объекты в нашем случае довольно сложны). Я хочу передать их по ссылке (не как указатели).

void func()
{
}

template<typename Function1, typename... FurtherFunctions>
void func(Function1 f1, FurtherFunctions... further_functions)
{
    // doing some processing here...
}

Как передать аргументы по ссылке и убедиться, что они не скопированы?

4b9b3361

Ответ 1

Просто скажите:

template <typename ...Args>
int myfunction(Args & ... args)
{
  /* ... */
}

То же самое для const Args & ... args, Args && ... args и т.д.