Für mein Spiel sollte ich einen rohen Zeiger verwenden, um SDL_Window
, SDL_Renderer
, SDL_Texture
usw. zu erstellen, da sie bestimmte Löschfunktionen haben
oder sollte ich ein benutzerdefiniertes Löschprogramm hinzufügen, wenn ich ein unique_ptr
oder shared_ptr
anlege, und wenn ja, wie würde ich das mit SDL-Typen machen?
Sie könnten einen Funktor mit mehreren überladenen operator()
-Implementierungen erstellen, von denen jede die richtige destroy-Funktion für den jeweiligen Argumenttyp aufruft.
Übergeben Sie dies als Deleter an ein unique_ptr
, und Sie könnten Wrapper-Funktionen schreiben, wenn Sie möchten, um das unique_ptr
s
Tags und Links c++ c++11 sdl unique-ptr sdl-2