我是靠谱客的博主 正直草丛,最近开发中收集的这篇文章主要介绍webrtc 中的 rtc::scoped_refptr,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

rtc::scoped_refptr 相当于一智能指针;

应用方法,是 所应用的类 必须继承 public rtc::RefCountInterface

和通常的设计方式一样;

 

template <class T>
class RefCountedObject : public T {

......;

 

  virtual int AddRef() const { return AtomicOps::Increment(&ref_count_); }

  virtual int Release() const {
    int count = AtomicOps::Decrement(&ref_count_);
    if (!count) {
      delete this;
    }
    return count;
  }

}

 

这里需要看一下 RefCountedObject  模板, 是 继承 相关的 类 (T)

当 Release() 的时候,会执行 delete this (因为继承 T,其实就是 T); 所以 T  析构函数执行了; 

 

 

如果想要获取指针变量,可以通过 Tobj.release() 获取;

同时 rtc::scoped_ref

最后

以上就是正直草丛为你收集整理的webrtc 中的 rtc::scoped_refptr的全部内容,希望文章能够帮你解决webrtc 中的 rtc::scoped_refptr所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部