numeric_limits double_max c++ const numeric-limits

double_max - max double c++



¿Por qué es std:: numeric_limits<T>:: max() una función? (1)

Para ampliar la observación de Neil, std::numeric_limit<T> está disponible para cualquier tipo de número, incluidos los números de punto flotante, y si excava el hilo de archivum.info/comp.lang.c++/2010-01/01066/… , verá que puede no ser posible Definir las variables estáticas para valores de punto flotante.

Entonces, por coherencia, decidieron poner tanto los puntos integrales como los flotantes detrás de los métodos.

Cambiará con C ++ 0x, así que hay esperanza.

En la biblioteca estándar de C ++, el valor std::numeric_limits<T>::max() se especifica como una función. Otras propiedades de un tipo específico se dan como constantes (como std::numeric_limits<T>::is_signed ). Todas las constantes que son de tipo T se dan como funciones, mientras que todas las demás constantes se dan como, bueno, valores constantes.

¿Cuál es la razón detrás de eso?