Nid*_*ger 4 c++ sdl typedef shared-ptr
我正在使用SDL2开发一个C++应用程序,并希望shared_ptr用来保存指针的东西.所以我这样做:
typedef std::shared_ptr<SDL_Window> SDLWindowPtr;
Run Code Online (Sandbox Code Playgroud)
我需要在整个事情上使用自定义删除器.是否可以在typedef中包含它?如果有,怎么样?调用删除功能SDL_DestroyWindow.如果没有,我如何shared_ptr使用SDL_DestroyWindow自定义删除功能?
提前致谢!
自定义删除器传递给shared_ptr构造函数,因此无法使用typedef(删除器不是实例化类型的一部分shared_ptr).
它可以用于unique_ptr(删除器是类型的一部分).
我的建议:创建将生成的工厂方法SDLWindowPtr(为它们分配适当的删除器).像std::make_shared你的系统一样专门用于你的系统(例如createSDLWindow?).
| 归档时间: |
|
| 查看次数: |
739 次 |
| 最近记录: |