I learnt that comparing a double using ==
is not a wise practice. However I was wondering if checking if a double has been initialized could be dangerous or not. For example, knowing that a variable doubleVar cannot be zero if it has been initialized, is it safe to do this?
Foo::Foo(){
doubleVar = 0.0; // of type double
}
void Foo::Bar(){
if(doubleVar == 0){ // has been initialized?
//...
}else{
//...
}
}
In IEEE-754, long story short:
double d;
d = 0.0;
d == 0.0 // guaranteed to evaluate to true, 0.0 can be represented exactly in double
but
double d;
d = 0.1;
d == 0.1 // not guaranteed to evaluate to true
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With