Вопрос

Мне было интересно, считается ли … оператором в C++11.И если это так, то каков его приоритет?

Например, рассмотрим этот довольно плохой пример и предположим...является оператором.

template<typename T, typename...Args>
void foo(T _elm, Args... _args)
{
   bar(something,_args...);
}

Как я могу знать, bar будет запущен с первым параметром something и args... расширен, или если он будет запущен в результате operator,(something, _args...) ?(бонусный вопрос:можно ли перегружать операторы шаблонами с переменным числом вариантов?)

Это было полезно?

Решение

Мне было интересно, считается ли... оператором в C++11.

Нет, ... определенно не считается оператором в C++ 11.Если помните, в предыдущем стандарте он также использовался при обработке ошибок.

catch(...)

и хотя я не уверен, как ... анализируется и анализируется внутри, он определенно не рассматривается как оператор.

Могут ли операторы быть перегружены шаблонами с переменным числом вариантов?

Я не уверен, но я так не думаю.Операторы должны принимать определенный набор параметров, например:

int operator + (int param1, my_obj param2);

Я не думаю, что это будет работать с вариационными шаблонами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top