Problem bei Operatorüberladung [] und =
-
Neo87 schrieb:
Sone schrieb:
Ja, aber ich bete dafür, dass du Smart-Pointer verwendest.
Nein, warum sollte ich?
Naja, wenn du immer weiter mit new allozierst, ohne den zuvor angeforderten Speicher freizugeben, dann frage ich mich, ob dir der Speicher nicht irgendwann ausgeht.
Der Controller kann schließlich nicht ahnen, wann du den Speicher nicht mehr benötigst und ihn automatisch freigeben. Oder doch?
-
Naja, also ich mache das so, dass ich jedem UIElement(Button, Slider, Image,...) ein Window zuweise. Das Window enthält dabei alle Referenzen auf die einzelnen UIElemente. Lösche ich jetzt das Window kümmert es sich auch darum das alle ihm zugewiesenen Elemente wieder freigegeben werden.
Das window kümmert sich außerdem um das Zeichnen auf dem Display und ruft die entsprechenden Callback-routinen auf wenn ein "Touch" erkannt wurde.
-
Lösche ich jetzt das Window kümmert es sich auch darum das alle ihm zugewiesenen Elemente wieder freigegeben werden.
Das ist aber genau das was ich predige: RAII. Im Destruktor wirst du dann alle Elemente im Besitz zerstören. Das könnte man noch flexibler gestalten, aber so hast du ja schon die prinzipiellen Vorteile.
-
Achso, mir war die Begrifflichkeit nicht bekannt.