Зачем пытаться преобразовать статическое число в двойное?

StackOverflow https://stackoverflow.com/questions/5412316

Вопрос

Просмотрите это в коде, над которым я работаю:

общий

(Общие кодовые коды являются общими кодовыми кодами.)

Я подозреваю , что есть действительно веская причина испытывать трудности с выполнением

something

и тому подобное, но, похоже, я мог бы обойтись гораздо меньшим количеством набора текста.

Что я не понимаю?

Заранее спасибо.

Это было полезно?

Решение

Многие из этих общих кодовых кодов не нужны из-за автоматического числового продвижения.Чрезвычайно необходимы те, которые используются при построении числа 1/2, хотя в этом случае нет очевидной причины не просто сказать вместо него static_cast.В любом случае внимательный компилятор удалит все это и заменит их константами времени компиляции.

Другие советы

Я согласен с предыдущим ответом, что здесь было бы намного лучше генерировать код кода.

Однако я обнаружил в коде еще один красный флаг, а именно 2.0.Функция pow(something, 3) предназначена для приема двух произвольных значений, x и y , и возврата x ^ y .Поскольку эта функция должна обрабатывать произвольные значения, она будет выполнять приближение.Однако это 1) сложно вычислить и 2) иногда не удается достичь цели.В этом случае было бы намного лучше просто использовать pow.

Это эквивалентно более удобочитаемому

общий

, поскольку целые числа повышаются до удвоений каждый раз, когда арифметическая операция имеет один двойной операнд.Двойного литераля 0,5 достаточно, чтобы все увеличилось вдвое.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top