我在某些c ++代码中有一些旧样式的转换,我想将其转换为新样式。我看过优先级运算符和关联运算符documentation,但我听不懂。
( double ) myValueA() / myValueB()
等效于
static_cast<double>( myValueA() ) / myValueB()
或到
static_cast<double>( myValueA() / myValueB() )
我想其他数字运算符(* / +-)的答案也将相同
答案 0 :(得分:6)
演员表具有较高的优先级,因此等同于
static_cast<double>(myValueA()) / myValueB()
答案 1 :(得分:6)
在
( double ) myValueA() / myValueB()
( double )
是c样式的强制转换。如果我们查看operator precedence table,将会发现它比算术运算符具有更高的优先级,
( double ) myValueA() / myValueB()
与
相同static_cast<double>(myValueA()) / myValueB()