Pregunta

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

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

¿Fue útil?

Solución

Para ampliar el comentario de Neil, std::numeric_limit<T> está disponible para cualquier tipo de número que incluye números de punto flotante, y si usted cava a través de la ++ comp.lang.c hilo, verá la mención de que podría no ser posible para definir las variables estáticas para los valores de punto flotante.

Por lo tanto, para mantener la coherencia que decidió poner los dos puntos enteros y flotantes detrás métodos.

Se va a cambiar con C ++ 0x, por lo que hay esperanza.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top