每个资源有3个东西:类型、默认值、清理函数,
1、类型是通过模板参数传入的,
2、默认值、清理函数通过traits提供,可以扩展自己的traits。
就Windows平台举例,有很多资源的类型都是HANDLE,
但默认值有NULL的,也有INVALID_HANDLE_VALUE的,这应该是MS内部各个team不统一的锅。
清理函数有CloseHandle()的,也有FindClose()的。
你可以用unique_ptr<> 加一个 wrapper,处理一下这些试试,
就是说,我传递进来一个HANDLE,是要调用CloseHandle()来关闭它,还是用FindClose()关闭呢?
【 在 mango7788 的大作中提到: 】
: 这个干嘛用的?和 unique_ptr<> 加一个 wrapper 有啥不同?
--
修改:z16166 FROM 221.220.171.*
FROM 221.220.171.*