我要发帖 回复

中级会员

4

主题

230

积分

0

专家分

:

私信
发表时间 : 2011-8-26 16:55:57 | 浏览 : 1874    评论 : 3
本帖最后由 linchuanjin 于 2011-8-26 04:57 PM 编辑

各位兄弟:
        在Delta3D\REL-2.5.0\ext\inc\osg文件夹下有个ref_ptr文件,其中有一个函数get()是这么实现的:
        T* _ptr
        T* get() const { return _ptr; }
而在Delta3D\REL-2.5.0\inc\dtCore文件夹下有个refptr.h中有个运算符操作函数:
        template <typename TSub>
              RefPtr& operator = (const osg::ref_ptr<TSub>& rp)
             {
                     *this = rp.get();               
                     return *this;
             }
为什么上面的操作符函数中能将rp.get()得到的T*指针能赋值给*this呢,请高手指教指教。

最近VR访客

linchuanjin 评论于2011-8-29 16:47:27
难道论坛里没有一个人能回答的了这个问题吗?
feng1127 评论于2011-8-29 19:59:27
可能吧,论坛不怎么活跃
StackSnow 评论于2011-9-6 22:03:46
ref_ptr是osg中的职能指针,get()方法返回的是一个普通指针,想了解详细的话,可以去看看osg中关于智能指针的内容

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2022-8-12 10:45 AM

返回顶部