Все они сводятся к одному и тому же, а использование массивов - это красная сельдь.Вы действительно можете написать
float f = d;
Некоторые люди утверждают, что static_cast
делает код более читабельным, так как он выделяется так четко.Он также может игнорировать предупреждения о том, что некоторые компиляторы могут выдавать, если используется менее длинная форма.
Естественно, конечно, поскольку double
- это расширенный набор float
, вы можете потерять точность.Наконец, обратите внимание, что для
float f1 = whatever;
double d1 = f1;
float f2 = d1;
стандарт C ++ настаивает на том, что f1
и f2
должны быть одинаковыми.