"Connecting" SDL_Surface到shared_ptr

"Connecting" SDL_Surface to shared_ptr

本文关键字:shared ptr Surface Connecting SDL      更新时间:2023-10-16

我想知道如何将SDL_Surface*与shared_ptr连接起来
在删除SDL_Surface之前,我需要调用SDL_FreeSurface(SDL_Surface*)。如何在shared_ptr中"修改删除过程"?

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

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

只需确保不要对SDL_SetVideoModeSDL_GetVideoSurface返回的指针执行此操作。