Voici le programme de test:
void testFunc()
{
double maxValue = DBL_MAX;
double slope = std::numeric_limits<double>::quiet_NaN();
std::cout << "slope is " << slope << std::endl;
std::cout << "maxThreshold is " << maxValue << std::endl;
std::cout << "the_min is " << std::min( slope, maxValue) << std::endl;
std::cout << "the_min is " << std::min( DBL_MAX, std::numeric_limits<double>::quiet_NaN()) << std::endl;
}
int main( int argc, char* argv[] )
{
testFunc();
return 0;
}
En Debug, j'obtiens:
slope is nan
maxThreshold is 1.79769e+308
the_min is nan
the_min is 1.79769e+308
Dans la Version, j'obtiens:
slope is nan
maxThreshold is 1.79769e+308
the_min is 1.79769e+308
the_min is nan
Pourquoi aurais-je obtenir un résultat différent dans la Version de Débogage?
J'ai déjà vérifié Débordement de Pile post Utilisation des fonctions min et max en C++, et il ne mentionne aucune Release/Debug différences.
Je suis à l'aide de Visual Studio 2015.