De hecho, la norma (o mi último borrador de trabajo) enumera todos los miembros de std::numeric_limits
en el capítulo 18.3.2.3 [numeric.limits] como constexpr
(no va a hacer ningún bien a citar en realidad esas definiciones aquí), por la versión general de plantilla, así como todas las especializaciones integradas (18.3.2.7 [numeric.special]). Así que sí, se garantiza que serán expresiones constantes (para implementaciones conformes que también admiten realmente constexpr
, por supuesto).
En cuanto a su segunda pregunta, más general, no puedo ayudarlo mucho excepto referirlo al estándar C++, cuyo último borrador, que realmente no difiere del estándar real, está disponible de forma gratuita. O puede mirar el cppreference.com más conveniente pero menos vinculante.
La principal motivación detrás de la nueva palabra clave 'constexpr' era hacer las cosas en numeric_limits expresiones constantes. –