1. 有时资源管理类(resource-managing classes)需要提供对资源的直接访问,这就需要将RAII class对象转换为其内含的原始资源,有两种做法可以达成目标:显式转换和隐式转换.

2. 显式转换:shared_ptr和auto_ptr都提供一个get成员函数,用来执行显式转换,也就是它会返回智能指针内部的指针.

    隐式转换:重载类型转换操作符,但这极有可能导致意料之外的类型转换,因此shared_ptr和auto_ptr并没有提供这种转换

3. 两种方式都有利有弊:显示转换比较安全但不方便,隐式转换比较方便但不安全.一般而言应遵循"让接口容易被正确使用,不易被误用"的原则采用显示转换.

相关文章:

  • 2022-02-26
  • 2021-06-17
  • 2022-01-16
  • 2022-12-23
  • 2021-06-13
  • 2021-06-21
  • 2021-08-19
猜你喜欢
  • 2021-08-26
  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
  • 2021-12-31
  • 2021-09-07
  • 2021-09-24
相关资源
相似解决方案