Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
3. Mai 2018
Das nennt sich Variant, bzw. es ist der kleine Bruder davon :angle: (oder Schwester oder Geschlechtsunentschiedener)
@Whookie: Nein, "höhere" Typen dürfen/können nicht in variante Teiles des Records rein.
type
TNullableValue = Record
case ValueType: {Integer}TEinEnumMitDenNamenDerTypenUndNullIstAuchEinTyp of
0: (ValueBool: Boolean);
1: (ValueInt: Integer);
2:...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
2. Mai 2018
Variant kennt diesbezüglich 3 Zustände:
Empty (kein Wert vorhanden)
Null (der Wert "Nichts")
Wert (z.B. True oder False)
Sollte nicht demnächst auch in Delphi Nullable-Typen "nativ" eingeführt werden?
Aber so oder so, entweder wird es ein größerer Typ, welcher eine zusätzliche Speicherstelle für den zusätzlichen "Wert" besitzt,
oder du nutzt eben einen der vorhandenen Werte und nutzt...