为什么static_cast等运营商有优先级?

qdi*_*dii 7 c++ operator-precedence

根据cppreference.com,C++ static_cast运算符的优先级为2.

为什么这些级别甚至被定义?我想不出任何理由.谁能提供一个例子?

Lig*_*ica 4

该标准没有定义优先级;这些都可以从语法中推导出来。

与任何其他语法特征一样,static_cast在该语法中也占有一席之地。因为它的使用需要括号,所以它的操作数表达式永远不会有歧义,但这仅仅意味着从语法中为其派生优先级是没有意义的,并不是说它在语法本身中的位置是没有意义的。因此,该标准在这里并没有做任何疯狂的事情。

毫无意义的是,无论您引用什么来源,都列出了static_cast. 这没有,只是毫无意义。