将SDL_Surface“连接”到shared_ptr

时间:2012-04-03 21:27:21

标签: c++ sdl shared-ptr

我想知道如何将SDL_Surface *与shared_ptr连接?
在删除SDL_FreeSurface(SDL_Surface*)之前,我需要致电SDL_Surface。如何在shared_ptr中“修改删除过程”?

1 个答案:

答案 0 :(得分:13)

只需将SDL_FreeSurface传递给构造函数:

std::shared_ptr<SDL_Surface> shared_surf(SDL_LoadBMP("foo.bmp"), SDL_FreeSurface);

请确保您不使用SDL_SetVideoModeSDL_GetVideoSurface返回的指针执行此操作。