R
danke erstmal
wie ich schon sagte, geht es um klassen, die so einiges an membern haben, aber meistens werden nur wenige davon wirklich benutzt.
quasi ne klasse CWagen, die sowohl ne spoiler, tieferlegung, breitreifen, alufelgen usw. member hat, wobei nicht alle diese member in jedem wagen benutzt werden, sondern nur einige wenige z.b. braucht ein
CWagen Combi;
sicherlich keine spoiler-daten
die klassen die so aufgeblaeht werden tausende male instanziert, ich denke man koennte also ENORM viel speicher sparen.
assoziative container haben aus meiner sicht irgendwie keinen vorteil gegenueber pointern die bei bedarf auf allokierte daten zeigen (da waeren sogar ne art autoptr die beim erstzugriff automatisch new aufrufen sehr praktisch typesafe und c++ style ).
was mich daran stoert ist der overhead (duerfte bei assoziativen containern eventuell noch groesser sein), da die daten manchmal nur z.b. 16byte haben und pro member dann auch ein new (overhead beim verwalten der daten bei nem new auf 16byte is auch nicht ohne).
was ich zZ so als idee haette, waere ein ptr auf ein byte array in dem nur die benutzten member aneinandergereiht liegen. ob ein member im array ist, kann man sehr simpel und schnell mit einer bitmask checken, falls nicht, dann liefert die klasse den defaultwert zurueck fuer die member. bei der ersten zuweisung zu einem member, mueste das array um dieses eine member erweitert werden.
probleme die bisher ungeloest sind:
-wie generiert man am smartesten alle moeglichen indizierungen fuer die bitmask fuer alle member ohne sich den wolf zu coden? (soll ja generisch sein, da das problem hier zuhauf auftritt)
-da die member verschiedene datentypen haben und verschieden gross sind, wie indiziert man auf diese verschiedenen groessen und wie sorgt man dafuer das alles typesafe ist?
werd mir jetzt die hierarchy-generators mal ansehen