According to cppreference.com,the C++
static_cast
operator’s level of precedence is 2.
为什么这些级别甚至被定义?我想不出任何理由.谁能提供一个例子吗?
解决方法
该标准没有定义优先级;这些可以从语法中得出.
像任何其他语法功能一样,static_cast在这个语法中占有一席之地.因为它的使用需要括号,所以它的操作数表达式永远不会是模糊的,但这只意味着从语法中打扰它的优先级是没有意义的,而不是它在语法本身中的位置是没有意义的.因此标准在这里没有什么疯狂的.
毫无意义的是,您引用的任何来源都列出了static_cast的优先级.没错,它毫无意义.