摘要: 之前转过一篇关于OSG中ref_ptr管理内存的文章,现再自己补充一些。  1. 从只能指针中获取原始指针的方法有:  osg::ref_ptrosg::Geode geodePtr = new osg::Geode();  osg::Geode* obj1 = *geodePtr; //获取Geode指针  osg::Geode* obj2 = geodePtr.get();//获取Geode指针2.下面代码存在性能问题  while(1)  {    osg::ref_ptrosg::Geode geodePtr = new osg::Geode ;  }  智能指针只存在whil 阅读全文
posted @ 2010-12-16 23:58 adyzng 阅读(2599) 评论(1) 推荐(0) 编辑
摘要: 原文:http://www.lxzhu.com/blog/archives/251  在Osg中有一个类被使用的最多,那就是ref_ptr,OSG中提供了一种自动管理内存的机制,这种机制涉及到两个类:第一个就是ref_ptr,另外一个就是osg::Referenced.  osg::Reference支持通过引用计数的方式来控制自己的生命周期,它期望,每次被一个新客户引用的时候,新客户能给他添加引用计数;而当客户不需要再使用它的时候,希望客户能够减少引用计数.如果引用计数达到0,那么osg::Reference就会析构自己,释放内存.但是这个过程对客户要求比较高,谁能记得住每次都添加引用和减少 阅读全文
posted @ 2010-12-16 17:14 adyzng 阅读(842) 评论(0) 推荐(0) 编辑