Обновление оператора таблицы не работает в pandasql

Это зависит от того, как вы определяете свою переменную. При указании типа float в определении добавление конечного f не требуется:

float amount = 0.1; /* This is fine, compiler knows the type of amount. */

Добавление лишнего литерала здесь (float amount = 0.1f;) может даже считаться плохой практикой, поскольку вы повторите информацию о типе, в результате чего вы измените тип редактирования.

Однако в контексте вывода типа вы должны предоставить литерал f:

auto amount = 0.1f; /* Without the literal, compiler deduces double. */

Есть более тонкие контексты, в которых происходит декомпозиция типа, например

std::vector<float> vecOfFloats;

/* ... */

std::accumulate(vecOfFloats.cbegin(), vecOfFloats.cend(), 0.1f);

. Здесь третий аргумент используется для вывода типа, на котором работает std::accumulate. Если вы просто назовете это как std::accumulate(..., 0.1);, для каждого элемента в vecOfFloats будет выполнено преобразование с двойным преобразованием с плавающей точкой.

0
задан willepi 19 January 2019 в 20:41
поделиться