Мне было интересно, был ли ... считался оператором в C++ 11. И если это так, каков его приоритет?В C++ 11, ... считается оператором?
Например, рассмотрим этот довольно плохой пример и предположим ... это оператор.
template<typename T, typename...Args>
void foo(T _elm, Args... _args)
{
bar(something,_args...);
}
Как я могу знать, будет ли bar
быть запущен с его первым параметром является something
и args...
расширенной, или если это собиралось будет работать на результат operator,(something, _args...)
? (Бонус вопрос: можно ли операторы быть перегружены с переменным числом шаблонов?)
«Операторы могут быть перегружены вариативными шаблонами» Нет. Или, по крайней мере, вы ничего не получите, сделав это. Операторы всегда принимают определенное количество параметров. –
См. [This] (http://stackoverflow.com/questions/2396065/c-overloading-operator-comma-for-variadic-arguments). – ApprenticeHacker
@qdii: Heh, nvm :) –