在C++ 11中,被认为是运营商?

qdi*_*dii 5 c++ operator-precedence variadic-templates

我想知道...是否被认为是C++ 11中的运算符.如果是这样的话,它的优先级是什么?

例如,考虑这个非常糟糕的例子并假设......是一个运算符.

template<typename T, typename...Args>
void foo(T _elm, Args... _args)
{
   bar(something,_args...);
}
Run Code Online (Sandbox Code Playgroud)

我怎么知道是否bar会运行第一个参数something并进行args...扩展,或者它是否会运行结果operator,(something, _args...)?(奖金问题:操作员可以使用可变参数模板超载吗?)

App*_*ker 4

我想知道 \xe2\x80\xa6 是否被视为 C++11 中的运算符

\n\n

不,...在 C++ 11 中绝对不被视为运算符。如果您还记得的话,它也曾在以前的标准中用于错误处理

\n\n
catch(...)\n
Run Code Online (Sandbox Code Playgroud)\n\n

虽然我不确定...内部是如何分析和解析的,但它绝对不被视为运算符。

\n\n

运算符可以使用可变参数模板重载吗?

\n\n

我不确定,但我不这么认为。操作员必须采用一组指定的参数,例如:

\n\n
int operator + (int param1, my_obj param2);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我认为它不适用于可变参数模板。

\n