设为首页 加入收藏

TOP

Effective C++ 资源管理小结(二)
2013-01-25 17:51:26 来源: 作者: 【 】 浏览:1293
Tags:Effective    资源管理 小结

 

  条款14:在资源管理类中小心copying行为像上一条款说的,有的时候auto_ptr不适合资源管理类,我们需要自己创建资源管理类。

  [cpp]

  void lock(Mutex* pm);//锁定pm所指的互斥器

  void unlock(Mutex* pm);//将互斥器接触锁定

  class Lock

  {

  public:

  explicit Lock(Mutex* pm):mutexPtr(pm)

  {

  lock(mutexPtr);//获得资源

  }

  ~Lock()

  {

  unlock(mutexPtr);//释放资源

  }

  private:

  Mutex *mutexPtr;

  };

  如上,我们将会为Mutex自动释放资源,但是我们需要考虑的一个问题就是,如果Lock发生了复制,会发生什么?

  Lock m1(&m);//锁定

  Lock m2(m1);//复制

  导致的恶果就是 将会对同一个资源释放两次。

          

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇表达式和基本语句 下一篇poj2728-最小比率生成树

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: