条款15: 在资源管理类中提供对原始资源的访问
2010-02-05 10:34
337 查看
将RAII class对象转换为其所含原始资源,有两个做法:显示转换和隐式转换
显示:
隐式:
一般而言显式转换比较安全,但隐式转换对客户比较方便
显示:
std::trl::shared_ptr<Investment>pInv(createInvestment()); int daysHeld(const Investment* pi); int days = daysHeld(pInv);//错误 int days = daysHeld(pInv.get());//正确
隐式:
class Investment{ public: bool isTaxFree() const; ... }; Investment* createInvestment(); std::trl::shared_ptr<Investment> pil(creatInvestment()); bool taxable1 = !(pil->isTaxFreeee());//经由operator->访问资源 ... std::auto_ptr<Investment> pi2(createInvestment()); bool taxable2 = !((*pi2).isTaxFree()); ...
一般而言显式转换比较安全,但隐式转换对客户比较方便
相关文章推荐
- Effective C++:条款15:在资源管理类提供对原始资源的访问
- 条款15:在资源管理类中提供对原始资源的访问
- Effective C++ 条款15:在资源管理类中提供对原始资源的访问
- 条款15:在资源管理类中提供对原始资源的访问
- 条款15:在资源管理类中提供对原始资源的访问
- Effective C++ -----条款15:在资源管理类中提供对原始资源的访问
- 条款15:在资源管理类中提供对原始资源的访问
- 条款15 在资源管理类中提供对原始资源的访问
- effective c++ 条款15 在资源管理类中提供对原始资源的访问
- 条款15 在资源管理类中提供对原始资源的访问
- Effective C++ 条款15 在资源管理类中提供对资源的原始访问
- Effective C++——》条款15:在资源类管理类中提供对原始资源的访问
- 条款15、在资源管理类中提供对原始资源的访问
- 条款15:在资源管理类中提供对原始资源的访问
- 读书笔记《Effective C++》条款15:在资源管理类中提供对原始资源的访问
- 条款15: 在资源管理类中提供对原始资源的访问
- 条款15 在资源管理类中提供对原始资源的访问
- 条款15:在资源管理类中提供对原始资源的访问
- 【Effective c++】条款15:在资源管理类中提供对原始资源的访问
- Effective C++ 条款15、16 在资源管理类中提供对原始资源的访问||成对使用new 与 delete要采取相同形式