Note of Justin

关于工作和读书的笔记

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  47 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

留言簿(14)

搜索

  •  

积分与排名

  • 积分 - 51741
  • 排名 - 433

最新评论

阅读排行榜

评论排行榜

[原创文章欢迎转载,但请保留作者信息]
Justin 于 2009-12-08

前面一个Item里 Scott Meyers 说的基本是用对象来申请和释放资源,这里他要说的是复制的问题。由于资源各自特性不一,对复制操作的要求自然也不能千篇一律。下面就是大师提供的几种应对方法:

  • 不允许拷贝。当资源本身不能复制时,对象可以说“不”。怎么做?回到Item6炒冷饭去……
  • 使用Reference-Count(引用计数),可以用上节说到的shared_ptr来干这个事,这里顺带介绍了shared_ptr提供的一个接口:一个可以在构造对象时定义的delete操作:如果对象是内存就是释放,如果对象是锁就是解锁。
  • 直接复制。别人有什么,你就直接原封不动也复制一份。如果是内存的话说得过去,如果是锁,我想还是不能这样乱用哈。
  • 移交所有权。这个不算是真正意义的复制,移交手续而已。最典型的例子就是auto_ptr的复制行为,Item13有炒过,去尝尝。

下课。一来因为我感冒了没法写那么多,二来因为人家大师在这一个Item里也就写了那么多……

posted on 2009-12-23 09:05 Justin.H 阅读(1103) 评论(1)  编辑 收藏 引用 所属分类: Effective C++ 炒冷饭

Feedback

# re: Effective C++ 炒冷饭 – Item 14 小心处理资源的复制 2009-12-25 16:14 凡客诚品官方网站
不错,学习  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理