存档

文章标签 ‘scoped_ptr’

Chrome源码学习之scoped_ptr

2013年5月8日 4 条评论

scoped_ptr是一个智能指针,Boost中实现了一份,用于管理指针(参考《设计模式之桥接模式 Boost::scoped_ptr》)。Chrome也自己实现了一份,但是比Boost实现的版本要更加复杂,前者支持数组,后者不支持数组(数组使用scoped_array)。本篇分析文件为src\base\memory\scoped_ptr.h,记录要点:
1. 将错误提前到编译器提示
错误越早发现越好,一些不合理的语句的使用如果能提前到编译器就检测出来自然是件好事,Chrome使用了enum技巧[......]

继续阅读

设计模式之桥接模式 Boost::scoped_ptr

2013年4月29日 3 条评论

打算把Chrome浏览器源码阅读的一些笔记写到博客上来,Chrome是个大工程,源码下载下来光压缩包就有2G多,解压之后6G多,过段时间我会写一篇如何编译Chrome浏览器的文章。最近阅读了src\base下部分基础组件的代码,感觉学到了很多东西。本文作为第一篇,可能看起来和Chrome没什么关系,不过这个知识点会在实际的开发中经常用到。
你可能没有系统学过设计模式,不懂桥接模式是什么玩意,没关系,你应该见过Impl;你也可能没接触过Boost,不懂scoped_ptr是什么,没关系,你应该见过[......]

继续阅读