Почему этот код не использует функцию питания C ++ напрямую? Может кто-нибудь помочь мне с функцией питания в этом коде? [закрыто]

mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name

    -> WHERE id > 100 LIMIT 10;

mysql> SELECT FOUND_ROWS();

Подробнее об этом здесь

-8
задан Boann 7 August 2019 в 12:45
поделиться

1 ответ

Эта функция использует технику, названную exponentation путем обработки на квадрат .

Это - особенно эффективный способ оценить питание для аргументов целочисленного типа. Стандарт C функция использует аргументы с плавающей точкой, и стандарт C не требует точного результата, даже если аргументы с плавающей точкой представляют целые числа.

В C++, хотя Вы можете , вероятно , полагаются на одну из перегрузок std::pow, который берет аргументы целочисленного типа и бросает результат согласно Вашему созданию необходимых проверок размера. , Но снова даже стандарт C++ делает не , требуют, чтобы самый лучший результат был возвращен (cf. std::sqrt под IEEE754), хотя можно было обоснованно расценить std::pow функция, которая не возвращает корректный результат для интегральных аргументов, чтобы быть дефектной.

3
ответ дан 5 September 2019 в 20:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: