Sto lavorando con un progetto in VC ++ che coinvolge il sistema di coordinate con asse x, y, z.
Sto cercando di verificare se una variabile (Punto con valori x, y, z) è assegnata al sistema di coordinate o è un punto predefinito (non inizializzato).
Poiché un sistema di coordinate non è in grado di assegnare un valore predefinito alla variabile in modo che sia negativo o positivo o pari a zero poiché tutti questi sono valori validi.
Il mio approccio qui è di avere una variabile booleana associata alla mia variabile variabile . Se il booleano è impostato, il punto non è assegnato. Ora devo controllare ogni singola dichiarazione in cui è possibile assegnare il valore e impostare Boolean.
Ora ho provato con questo approccio che è piuttosto brutto e potresti considerarlo sbagliato. Quello che sto facendo qui è prendere una variabile float non inizializzata (poiché i membri x, y, z di Point sono float) e confrontarla con i membri x, y, z della variabile Point.
Poiché nel caso in cui Point non è inizializzato, sia la variabile float che i membri di Point corrispondono e io posso dichiararne la non inizializzata. Ho provato a testarlo su diversi compilatori e ottengo il risultato come previsto.
Ovvio, ricevo un avviso del compilatore per variabile non inizializzata utilizzata per il confronto
La mia domanda, il secondo approccio è davvero pessimo o ci sono soluzioni alternative su questo.