Freigeben von Speicher
-
Hallo zusammen, ich habe folgende Frage:
Ist folgender Code legitim?void deleteAnimation(Animation *pAni){ delete pAni; } class Animation{ public: void run(void); }; void Animation::run(void){ deleteAnimation(this); } Animation a; a.run();Mit freundlichen Grüssen Ishildur
P.S.
Bitte macht euch keine Gedanken darüber, ob die Architektur einen Sinn macht, es geht darum, dass sich eine Animationsinstanz nach beendigung selbstständig aus dem Speicher entfernen kann.
-
Ich sehe kein new, also ist es nicht legitim.
-
-
Animation *A = new Animation; A->run(); delete A;deshalb heißt es ja dynamisch. Was du da tatst ist äußerst statisch.