文章分类 - Mozilla
摘要:circle collection 是mozilla项目中用来解决cycle-ownership leak。 先说说cycle-ownership leak(不知道中文应该怎么翻译)。假如有A、B、C三个类。 cycle-ownership leak class A : public IA{ public: //construction, destruction, some functio...
        阅读全文
                
摘要:nsCOMPtr是一个帮助防止泄漏的工具。 nsCOMPtr是一个智能指针,使用方法与C或者C++的普通指针一样,例如可以使用->或*。与原始的c++指针不同的是。nsCOMPtr帮助你管理着XPCOM的AddRef, Release和QueryInterface。 COM的一条原则是任何创建或者返回接口的函数都应该是已调用AddRef函数。 当最后一个指向接口的指针释放(调用Releas...
        阅读全文
                
摘要:Fromhttps://developer.mozilla.org/en/Using_nsCOMPtr/Getting_Started_Guide(SOURCE URL:http://www.mozilla.org/projects/xpcom/book/cxc/html/preface.html)Cross Platform Component Object Module (XPCOM) 是一个允许开发人员把一个大的工程划分成小的模块的框架. 这些小模块称为组件, 它们在运行时刻组装在一起.XPCOM 的目标是使软件的不同部分分别开发, 相互独立. 为了是应用的不同组件之间能够互操作, XP
        阅读全文
                
摘要:用过c++朋友一定都忘记释放过动态分配的内存。内存释放是一个很头痛的问题,一不小心就会造成内存泄漏。比如说,一个函数中分配了内存,但这个函数还有很多出口(return),我们不得不在每个出口去释放内存。这是一个很费时费力的的工作。但如果用了智能指针,在函数结束时,会智能的释放内存。这节省了程序员的工作,也减少程序员犯错。 在mozilla开源项目里用到了智能指针nsAutoPtr和nsAutoArrayPtr(两个c++模板类)。这两个类会在类生命周期结束时释放所管理的内存。在代码中使用这类时,就不必担心内存释放。AutoPtr: Ptr是nsAutoPtr内部的类。注释说Ptr类阻止隐晦..
        阅读全文
                

浙公网安备 33010602011771号