effective C++条款十五解读

来源:互联网 发布:云端收银软件 编辑:程序博客网 时间:2024/06/05 22:53

在资源管理类中提供对原始资源的访问

当我们用资源管理类来管理对象的时候,很多我们调用的系统API可能需要接受原始的资源参数,这时候我们的资源管理类必须提供对原始资源的访问。

比如shared_ptr就提供了get方法来拿到底层的原始指针。

一般来说,获取原始资源的方法有两个

1.调用get函数获得原始资源。

2.在类中实现类型转换函数。

用一个字体管理类来分别阐述上面两种做法:

class Font{public:     explicit Font(FontHandle fh):f(fh){}     ~Font(){ releaseFont(f);}      FontHandle get() const { return f; }private:    FontHandle f;}

class Font{public:     explicit Font(FontHandle fh):f(fh){}     ~Font(){ releaseFont(f);}      operator FontHandle() const { return f; }private:    FontHandle f;}






原创粉丝点击