Здравствуйте, подскажите, пожалуйста, а static_cast <float> (n)
и (float)(n)
взаимозаменяемы? (n имеет тип int)
У с++ есть четыре типа кастов const_cast - используется для снятия или добавления константности
static_cast - для превращение одного типа в другой путем его модификации (static_cast от дабла в инт откинет дробную часть и переформирует битовое представление переменной в тип инт)
reinterpret_cast - изменяет тип не меняя ее битового представление
И dynamic_cast, но он в данном случае не роляет.
Так вот, в с++ приведение в стиле си попробует все типы приведения пока не наткнется на удачный. Сначала попробует const_cast потом static_cast и в конце reinterpret_cast. То есть приведение в стиле Си это такой себе пробивной молот который всеми правдами и неправдами приведет тебе тип в тот который ты попросил, но порою может сделать это не так как ты ожидал. Поэтому хорошим стилем программирования считается указание конкретного вида приведения типа.