当前位置: 首页 > news >正文

华为云云速建站教程网络营销专业就业

华为云云速建站教程,网络营销专业就业,什么样建广告网站,渭南网站建设seo什么是智能指针: 智能指针是一个类,用来存储指向动态分配对象的指针,负责自动释放动态分配的对象,防止堆内存泄漏。动态分配的资源,交给一个类对象去管理,当类对象声明周期结束时,自动调用析构函…

什么是智能指针:

        智能指针是一个,用来存储指向动态分配对象的指针,负责自动释放动态分配的对象,防止堆内存泄漏。动态分配的资源,交给一个类对象去管理,当类对象声明周期结束时,自动调用析构函数释放资源。

 裸指针的缺点:

1.难区分执行一个或多个对象

2.难以判断是否该销毁,有没有多次销毁

3.难以缺点delete还是delete[]

常见智能指针:

auto_ptr、unique_ptr、shared_ptr、weak_ptr;

auto_ptr在C++11中被舍弃:不支持对象数组操作、赋值和复制会改变资源的所有权。

RAII获取资源即初始化

        充分地利用了c++语言局部对象自动销毁的特性来控制资源(内存heap、网络套接字、互斥量,文件句柄等)的生命周期。

 RALL过程中的四个步骤

  1. 设计一个类封装资源
  2. 在构造函数中初始化
  3. 在析构函数中执行销毁操作
  4. 使用时定义一个该类的局部对象

unique_ptr唯一型智能指针

        指针、资源一对一。不能两个指针指向一个地址,所以不支持普通赋值和拷贝构造,需要用移动构造和移动赋值。

shared_ptr共享型智能指针

        shared_ptr内有两个指针,_Ptr和_Rep;

_Ptr指向申请的空间,_Rep指向_Uses和_Weaks,创建指针后_Uses默认为1、_Weaks默认为1;

_Uses记录有多少个共享指针指向那个空间;

当_Uses值为0时,_Weaks也变为0,释放空间,指针置为空。

weak_ptr弱指针

        弱引用指针weak_ptr监视shared_ptr的生命周期,没有*->操作。

weak_ptr需要shared_ptr实例来初始化,同样有_Ptr和_Rep,当创建弱指针时,_Weaks+1

use_count()可以获取当前有几个共享性智能指针指向该资源即_Uses的值

//创建弱指针
int main()
{shared_ptr<int> pa(new int(10));weak_ptr<int> wp(pa);
}

expired()方法

        弱指针 expired() 方法用于检查所指向的对象是否已经被销毁,返回值是一个 bool 类型的变量,如果所指向的对象已经被销毁,则返回 true,否则返回 false。

        在某些情况下,我们需要检查所指对象是否还存在,以避免程序出现空指针异常或者未定义行为。这时就可以使用 weak_ptr 的 expired() 方法来判断所指对象是否已经被销毁,从而避免出现访问已经不存在的对象的情况。

lock()方法

        lock()方法获取所监视的shared_ptr

       弱指针是一种不拥有所指对象的智能指针,它只是对所指对象的一个观察者,因此它不能直接访问所指对象,而是需要通过转换为 shared_ptr 或者使用 lock() 方法获取一个 shared_ptr,然后才可以访问所指对象。

对于lock()返回的共享型智能指针一定要判断一下是否存在,存在与不存在lock都会返回指针。

shared_ptr<int>sp(new int(10));
weak_ptr<int> gw(sp);
shared_ptr<int>spt = gw.lock();
if(spt)
{//使用spt
}

http://www.yayakq.cn/news/433559/

相关文章:

  • 用mui做的网站服务器做多个网站
  • 网站建设新际某公司网络设计方案
  • 查看网站是否备案python 做网站 用哪个框架好
  • 股票网站模板设计方案汇报开场白
  • 网站建设大致分哪几个板块想招代理去什么网站
  • 企业网站群建设的原因佛山最新通知今天
  • 网站建设 石家庄做网站80端口
  • 建设网站和推广吉林平台网站建设推荐
  • 福建网站开发公司网站设计上市公司
  • 网站建设 信科网络深圳微信网站运营
  • 权威的手机排行榜网站网络培训远程教育平台
  • 亚泰润德建设有限公司网站wordpress 导入数据库
  • 做旅游攻略的网站响应式网站的字体设置
  • 跨境商城网站开发高端网站定制商
  • 响应式网站新闻部分怎么做知名网建公司
  • 品牌手机网站开发公司哪家好怎么自己做导购网站
  • 网站备案期间it行业干什么
  • 兰州做网站哪个平台好wordpress本地运行
  • 网站怎么做关键词搜索建设本地网站 配置iis
  • 做可动模型的网站网页制作邢台网站公司
  • 杭州企业网站seo搜索引擎推广入口
  • 阿里云建网站教程垫江集团网站建设
  • 网站模版建站做流量任务的试用网站
  • 网站建设维护是啥意思海口网站建设开发
  • c 做网站源码实例上海网站建设天锐科技
  • 麦包包的网站建设分析苏州做网站公司速找苏州聚尚网络
  • 专业网站建设品牌策划广州冼村街道办事处电话
  • 宿州网站建设开发公司seo优化培训
  • 网站怎么接入百度地图自己制作logo的软件
  • 餐厅网站开发背景制作企业网站的代码