numeric_limits
funciones son todos constexpr por lo que funcionan muy bien como constantes de tiempo de compilación (asumiendo que usted está utilizando la versión actual de C++). Entonces, std::numeric_limits<double>::infinity()
debería funcionar en cualquier contexto.
Incluso si usted está utilizando una versión anterior, esto todavía funcionará en cualquier lugar que no se requiere una constante de tiempo de compilación. No está claro a partir de su pregunta si su uso realmente necesita una constante de tiempo de compilación o no; solo estar en un encabezado no necesariamente lo requiere.
Si está utilizando una versión anterior, y realmente necesita una constante de tiempo de compilación, la macro INFINITY
en cmath debería funcionar para usted. En realidad, es el valor float
para infinito, pero se puede convertir a double
.
@JamWaffles Los estándares C son realmente sorprendentemente legibles. Son los estándares de C++ que parecen escritos por abogados de lenguaje excesivamente entusiastas. – Lalaland
Dado que la pregunta está pidiendo técnicamente para qué "C++" la cabecera #include se debe utilizar en lugar de # include . –
lefticus