¿Está isnan en el std :: namespace? Más en general, ¿cuándo es necesario, estándar, opcional o debe evitarse?

Con Mingw 4.7.2, tengo una biblioteca que no se compila debido a una llamada aisnan. El compilador dice "todo estará bien" si lo usostd::isnan, y de hecho me las arreglo para compilar mi archivo.

Pero si lo comprueboaquí (Editar: Pero tal vez debería haber comprobado tambiénaquí :-) ), lastd:: no parece ser necesario Si lo agrego, ¿será portable el archivo?

Más en general, para cada caso hay una manera general de entender al ponerstd:: ¿Es necesario (por portabilidad), opcional o por evitar?

Editar

De hecho, entre los orígenes del problema es que hay múltiples inclusiones de encabezado, y algunos de los encabezados incluidos incluyen<cmath>, mientras este archivo cpp intenta incluir<math.h> (cuando<cmath> ya se ha incluido).

Respuestas a la pregunta(2)

Su respuesta a la pregunta