条款15:在资源管理类中提供对原始资源的访问
Provide access to raw resources in resource-managing classes.
由于许多 APIs 直接指涉资源,例如:
所以资源管理类需要提供对原始资源的访问接口。引用计数型智慧指针和智能指针都提供一个 get()
成员函数,用来执行显示转换,它会返回智能指针内部的原始指针;并且也重载了指针取值(pointer dereferencing)和操作符(operator-> 和 operator*),它们允许转换至底部原始指针。
对于自定义的资源管理类,可以选择显式转换函数和隐式转换函数两种方式:
一般而言显式转换比较安全,但隐式对客户比较方便。
Last updated
Was this helpful?