Ich habe eine Klasse, die wie dieseWie speichert man eine Art von "null" in C++ double oder int Variable?
struct A {
double a1;
int b1;
double a2;
int b2;
};
Ich habe abzulesen eine Datei Wert für a1
, b1
, a2
und b2
aussieht. Die meiste Zeit sind alle vier Zahlen in der Datei, aber manchmal gibt es nur zwei Zahlen.
Wenn zwei Zahlen sind, möchte ich die Werte in a1
speichern und b1
und ich möchte in a2
und b2
„nichts“ speichern. Wenn a2
und b2
Zeiger wären, könnte ich ihnen einfach zuweisen nullptr
, aber sie sind keine Zeiger.
Kann ich etwas in double
und int
Variablen speichern, um anzuzeigen, dass "nichts" gespeichert ist?
Ich weiß Boost.Optional
ist verfügbar, aber ich versuche, diese Bibliothek zu vermeiden.
Wählen Sie einen Wert, von dem Sie wissen, dass Ihre Variablen ihn niemals annehmen werden, und nennen Sie ihn 'NULL'. Dann vergleiche die Variablen mit "NULL". Die erste Wahl ist oft 0 oder -1 – scohe001
Das ist das Problem, ich kenne keine Werte, die meine Variablen niemals haben werden. – jlconlin
@Josh: Nein, nenne es nicht 'NULL'. Geben Sie ihm einen eindeutigen Namen, der nicht mit der Standardbibliothek in Konflikt steht. –