Ich habe gelernt, dass der Vergleich eines Doppel mit ==
ist keine weise Übung. Ich habe mich allerdings gefragt, ob es gefährlich sein kann, zu überprüfen, ob ein Double initialisiert wurde. Wenn zum Beispiel bekannt ist, dass eine Variable doubleVar nicht Null sein kann, wenn sie initialisiert wurde, ist dies sicher?Ist es korrekt, ein Double mit Null zu vergleichen, wenn Sie es vorher auf Null initialisiert haben?
Foo::Foo(){
doubleVar = 0.0; // of type double
}
void Foo::Bar(){
if(doubleVar == 0){ // has been initialized?
//...
}else{
//...
}
}
Die a) nicht auf 0 initialisiert wird, ist es 0 bis es zuweisen, und b) Vergleichen Sie es mit einem "int" 0, nicht einem "double" 0.0 wie es zugewiesen wurde. – chris
Ja. Für diesen Fall ist es sicher. – haccks
Ich bin verwirrt. Warum kann eine 'doubleVar 'nicht null sein, wenn sie initialisiert wurde? Kannst du es nicht als Null initialisieren? Wer hat dir gesagt, dass es keine kluge Methode ist, ein Double mit == zu vergleichen? Was war der Grund, den sie gaben? – crush