старый стиль простого приведения в C ++ - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть кастинг в старом стиле в коде c ++, который я хотел бы преобразовать в новый стильЯ посмотрел на операторы приоритета и ассоциативности документация , но не смог понять.

( double ) myValueA() / myValueB()

эквивалентен

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

или

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

Полагаю, ответ будет таким же для других числовых операторов (* / + -)

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

In

( double ) myValueA() / myValueB()

( double ) - актерский состав в стиле c.Если мы посмотрим на таблицу приоритетов операторов , то увидим, что она имеет более высокий приоритет, чем арифметические операторы, поэтому

( double ) myValueA() / myValueB()

совпадает с

static_cast<double>(myValueA()) / myValueB()
0 голосов
/ 19 сентября 2018

Актерский состав имеет более высокий приоритет, поэтому он эквивалентен

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