Ich schreibe gerade an einer kleinen lib die LED Streifen steuern soll. Es gibt die Klasse c_Led, und c_Ledbar. c_Ledbar soll ein privates Array von c_Led Objekten enthalten, ein Objekt pro verbaute LED.
Nun muss ich bei der Definition des Arrays ja dessen Größe angeben, diese wir der Klasse aber erst beim Aufruf des Konstruktors übergeben. Wie kann man dieses Problem denn lösen? Das Array erst im Konstruktor deklarieren funktioniert ja nicht, bzw dann existiert es ja nur im Konstruktor.
Eine Lösung wäre natürlich auch das Array einfach in Übergröße zu definieren. Aber Speicher zu reservieren den man niemals braucht wird sicher nichts mit der Musterlösung zu tun haben.
Ah, danke. Allokieren war das Stichwort das ich gebraucht habe. Ich wusste dass das irgendwie geht, hatte mal über dynamische Speicherverwaltung gelesen, aber weniger als die Hälfte verstanden und einen großen Bogen darum gemacht.
Muss ich mich darum kümmern dass der Speicher wieder freigegeben wird? Die Objekte werden ja zur Laufzeit nicht mehr geändert.
Wenn Du's sauber machen willst, ja. Wenn Du Dich auf das beschränkst, was Du gepostet hast (statisch ein Objekt anlegen), dann ist es nicht zwingend, denn die Freigabe würde ja gar nie aufgerufen.