Moin zusammen, ich habe ein Framework, in dem ich SDL_CreateRenderer aufrufe und die Adresse in einem Zeiger m_pRenderer speicher. An einem anderen Ort rufe ich mein Framework-Renderer auf und speichere diesen in einer zweiten Member m_pSpriteRenderer. Das heißt, ich habe einen Zeiger auf einen Zeiger, da ich ja nicht das Objekt hole sondern lediglich einen Zeiger darauf oder? Also darf ich m_pSpriteRenderer auch nicht freigeben, da die Adresse des Zeigers im Framework auch freigegeben wird korrekt? Ich müsste also im Framework m_pRenderer einfach freigeben, wenn ich das richtig verstehe.
Mike schrieb: > Das heißt, ich habe einen Zeiger auf einen Zeiger, da ich ja nicht das > Objekt hole sondern lediglich einen Zeiger darauf oder? Du musst dich schon entscheiden: Entweder hast du einen Zeiger auf das Objekt oder einen Zeiger auf einen Zeiger auf das Objekt. > Also darf ich m_pSpriteRenderer auch nicht freigeben, da die Adresse des > Zeigers im Framework auch freigegeben wird korrekt? Ich müsste also im > Framework m_pRenderer einfach freigeben, wenn ich das richtig verstehe. Du hast genau ein SDL_Renderer-Objekt, also kannst/darfst du das auch nur genau einmal freigeben, unabhängig davon, wieviele Zeiger du darauf hast.
nicht"Gast" schrieb: > Borislav B. schrieb: >> Genau dafür hat der liebe Gott den Smart-Pointer erfunden :-) > > In C? Für C wären das aber komische Variablennamen ("m_" kennzeichnet normalerweise Membervariablen).
Fritz schrieb: > Für C wären das aber komische Variablennamen ("m_" kennzeichnet > normalerweise Membervariablen). Kann sein, muss aber nicht. Viele Leute übernehmen irgend einen Schrott, weil sie denken, das ist cool und muss so gemacht werden. Wenn er C++ programmiert, warum dann nicht SFML? Die Warscheinlichkeit, dass er C++ programmiert ist nicht gering, aber wissen kann man es nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.