assuma nel codice seguenteFa la conversione di un float ad un doppio e di nuovo a galleggiare dare lo stesso valore in C++
float f1 = ...;
double d1 = static_cast<double>(f1);
float f2 = static_cast<float>(d1);
ASSERT(f1 == f2);
la variabile f1
viene inizializzato a qualcosa che non è un NaN. L'affermazione è quindi garantita dallo standard C++?
Non per NaN ... – Mysticial
E in caso contrario? Perché non per i NaN? –
I NaN non sono mai uguali. E penso che la risposta sia altrimenti dipendente dall'implementazione. –