Какова наилучшая практика для кастинга между разными типами чисел? Типы float
, double
, int
- это те, которые я использую больше всего на C++.Лучшая практика в C++ для литья между типами чисел
Пример из вариантов, где f
представляет собой float
и n
является double
или int
:
float f = static_cast<float>(n);
float f = float(n);
float f = (float)n;
Я обычно пишу static_cast<T>(...)
но интересуется, есть ли какой-либо консенсус в сообществе разработчиков C++, если есть предпочтительный способ.
Я знаю, что у этого вопроса есть cropped up в отношении кастинга в целом, однако меня интересуют конкретно цифры и есть ли конкретные рекомендации в подходе для типов номеров.
Используйте «static_cast», «стандартный» C++ путь, и ничего не изменилось с C++ 11. – songyuanyao
Лучшей практикой было бы написать программу, которая не нуждалась бы в каких-либо приведениях – Drop
'float f = n;' является моим предпочтением –