C ++中的旧式简单转换优先级

old-style simple cast precedence in c++

我在某些 C++ 代码中有一些旧式转换,我想将其转换为新式。我查看了优先级和结合性运算符 documentation,但我没能理解它。

( double ) myValueA() / myValueB()

等同于

static_cast<double>( myValueA() ) / myValueB()

static_cast<double>( myValueA() / myValueB() )

我想其他数值运算符的答案也是一样的(*/+-)

强制转换具有更高的优先级,所以它等同于

static_cast<double>(myValueA()) / myValueB()

( double ) myValueA() / myValueB()

( double ) 是 C 风格的转换。如果我们查看 operator precedence table,我们会发现它的优先级高于算术运算符

( double ) myValueA() / myValueB()

相同
static_cast<double>(myValueA()) / myValueB()