Если foo имеет тип с плавающей запятой, допустимо / рекомендуется следующее выражение?
(0.0f == foo * float(0))
Будет ли оно иметь ожидаемое (математическое) значение независимо от значения foo?
Определяет ли стандарт C ++ поведение или это зависит от реализации?