Ich habe in meiner spiele-engine objekte denen ich nun variable-objekte verpassen will (ja ich möchte das so)
Es sollen char*, int oder float gespeichert werden können - auf 32 bit OS sind alle typen auch 32 bit. Ich könnte es mit void* machen um auf weitergehende daten zu "zeigen". Da sieht mir auch relativ zuverlässig aus...
struct var { char code; char* name; void* value; };
Doch ich könnte es auch anders machen, indem ich unions nehme (statt void* value).
was wäre euerer meinung nach besser? PS ich code eine DLL in C - und diese soll in untersch. sprachen verwendet werden.
Bei einer union müßtest du dann jeweils verschiedene Variablennamen angeben (je Typ), daher ist "void *" wahrscheinlich am besten (wird ja bei anderen C-Libraries auch so gemacht). Dann muß der Anwender zwar jeweils casten, aber du kannst ja auch nicht alle Datentypen in eine union aufnehmen, z.b. der User definiert sich selbst eine eigene Struktur.