C ++ 0x шаблон Variadic передать по ссылке - PullRequest
30 голосов
/ 15 июня 2011

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

void func()
{
}

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

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

1 Ответ

34 голосов
/ 15 июня 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...