Esta reseña ha sido probado por especialistas para que tengas la garantía de la veracidad de este escrito.
Solución:
Si puede evitar el uso de un símbolo de preprocesador, debería hacerlo. Te causará problemas cuando menos lo esperes. E
es probable que sea una variable.
Solución propuesta:
#include
const double EulerConstant = std::exp(1.0);
La ventaja de calcular la constante en lugar de asignar un literal de coma flotante es que producirá un resultado con una precisión que coincida con la precisión de la double
tipo de datos para su implementación particular de C++. Y elimina la posibilidad de introducir un error al saltar accidentalmente un dígito.
Como se ilustra arriba,
declara std::exp
por lo que no es necesario que hagas el tuyo propio.
C++20 std::numbers::e
C++20 también ha agregado un e
constante a la biblioteca estándar: http://eel.is/c++draft/numbers
Espero que el uso sea como:
#include
Lo probaré cuando llegue el soporte a GCC, GCC 9.1.0 con g++-9 -std=c++2a
aun no lo soporta.
La propuesta aceptada describe:
5.0. "Encabezados" [headers]
En la mesa [tab:cpp.library.headers]se debe agregar un nuevo encabezado.[...]
namespace std { namespace math { template
inline constexpr T e_v = unspecified; inline constexpr double e = e_v ;
También hay una std::numbers::pi
por supuesto 🙂 Cómo usar la constante PI en C++
Estas constantes utilizan la función de plantilla de variables de C++14: Plantillas de variables de C++14: ¿cuál es su propósito? ¿Algún ejemplo de uso?
En versiones anteriores del borrador, la constante estaba bajo std::math::e
: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0631r7.pdf
Sección de Reseñas y Valoraciones
Acuérdate de que tienes la capacidad de añadir un criterio certero .