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

郑州网站建设哪家公司好全网软文推广

郑州网站建设哪家公司好,全网软文推广,长春企业网站建设,东营做网站哪里好众所周知,C五大内存区:全局数据区(静态区)、代码区、栈区、堆区、常量区。 全局数据区(静态区):存放全局变量,静态数据和常量; 代码区:存放所有类成员函数和非成员函数代码,函数体的二进制代码。…

众所周知,C++五大内存区:全局数据区(静态区)、代码区、栈区、堆区、常量区。
全局数据区(静态区):存放全局变量,静态数据和常量;
代码区:存放所有类成员函数和非成员函数代码,函数体的二进制代码。
栈区:存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。
堆区:new、malloc、realloc分配的内存块,一般编译器不会释放内存,需要用程序释放,内存泄露通常说的就是堆区。
常量区:存放常量的,不允许修改。

其中,堆区就是动态内存的区域,就是程序员自己分配和释放内存的区域。

1.智能指针

1.1 介绍

头文件:#include<memory>

智能指针是模板。

shared_ptr:共享指针,允许多个指针指向同一个对象

unique_ptr:独占指针,只允许一个指针指向一个对象

weak_ptr:弱引用,指向shared_ptr所管理的对象。

特点:智能指针可以自动释放所指向的对象的内存。

1.2 shared_ptr类

形式:shared_ptr<T> ptrname;

特点:每个shared_ptr都有一个关联的计数器,来记录有多少个智能指针指向这个对象,

我们拷贝一个shared_ptr,计数器会递增,如:

        1.当用一个shared_ptr初始化另一个shared_ptr

        2.当把一个shared_ptr作为参数传递给一个函数

        3.当把一个shared_ptr作为一个函数返回值时  

我们销毁一个shared_ptr,或给一个shared_ptr赋值时,计数器会递减,如:

        1.局部shared_ptr离开一个作用域,会被销毁,则指向这个对象的其它shared_ptr指针的计数器会递减

当计数器为0时(即没有智能指针指向这个对象了),将会调用这个对象的析构函数销毁它,并释放内存。

T:是一个类型,可以是内置类型、容器等等。

操作含义
shared_ptr<T> sp空智能指针,指向类型为T的对象
sp将sp作为条件判断,如果sp指向一个对象,则为true,否则为false
*sp解引用sp,获得它指向的对象
sp->mem等价于(*sp)->mem,调用sp指向对象的成员
sp.get()返回sp中保存的指针。注意:若智能指针释放了其对象,返回的指针所指向的对象也就消失了。

swap(sp1,sp2)

sq.swap(sp2)

交换两个智能指针
make_shared<T> (args)返回一个shared_ptr,指向类型为T的对象。并且使用args对对象进行初始化。这是最安全的分配和使用动态内存的方法
shared_ptr<T> sp (sq)sp是sq的拷贝,此操作会递增sq的计数器。sq中的指针必须能转换为T*
sp=sqsp是sq的拷贝,此操作会递增sq的计数器,递减sp的计数器。
sp.unique()若sp.use_count为1,则为true,否则,则为false
sp.use_count()返回与sp共享对象的智能指针数量。可能会很慢

注意:

        由于在最后一个shared_ptr销毁前,这个对象不会被销毁,所以就需要保证当这个shared_ptr在后面不会再使用的时候就要销毁它。如:一个容器里,存有多个shared_ptr,但是用到后面,我只需要使用其中的一部分shared_ptr,这时候我就要调用容器的erase函数,来将不用的shared_ptr给销毁掉,避免内存浪费。

1.3 unique_ptr类

操作含义
unique_ptr<T> up空智能指针,指向类型为T的对象
up将up作为条件判断,如果sp指向一个对象,则为true,否则为false
*up解引用up,获得它指向的对象
up->mem等价于(*up)->mem,调用up指向对象的成员
up.get()返回up中保存的指针。注意:若智能指针释放了其对象,返回的指针所指向的对象也就消失了。

swap(up1,up2)

up.swap(up2)

交换两个智能指针

2.动态内存

2.1 使用动态内存资源的类

一般在以下情况下,程序要使用动态内存资源:

        1.程序不知道这个类需要分配多少对象。如:容器

        2.程序不知道所需对象的准确类型。

        3.程序需要在多个对象间共享数据。

3.动态内存与智能指针

http://www.hkea.cn/news/421976/

相关文章:

  • 近的网站在线客服系统网络优化工程师前景如何
  • 网站制作职业google入口
  • 广州网站 制作信科便宜网络营销软文范例500
  • 网站建设公开课长沙网站推广和优化
  • 建设网站的需求分析俄罗斯搜索引擎yandex推广入口
  • 可以做英文纵横字谜的网站搜狗网站收录入口
  • web前端开发是不是做网站百家号关键词排名优化
  • 夸克看网站要钱吗电商网站seo优化
  • 自己做网站排版138ip查询网域名解析
  • 东莞做网站 南城石佳2023网站推广入口
  • 广东省省建设厅网站郴州网站建设网络推广平台
  • 校园网站推广方案怎么做应用商店优化
  • 巩义网站建设网络营销公司是做什么的
  • 做网站基本教程一站式营销平台
  • 杭州模板网站建设电脑培训网上培训班
  • 大连做网站不错的公司怎样把广告放到百度
  • 网站上面带官网字样怎么做的网站设计的流程
  • 有个网站是做视频相册的网球排名即时最新排名
  • 论坛网站备案流程图优化大师怎么提交作业
  • 织梦政府网站模板百度在线入口
  • 专业做婚纱摄影网站会员制营销
  • 网站内容丰富互动营销平台
  • 阿里巴巴logo高清图谷歌seo网站推广
  • 网站如何做内链seo高手是怎样炼成的
  • 设计师个人网站建设怎样注册一个自己的平台
  • 徐州营销网站建设产品线上推广渠道
  • 绍兴市网站建设公司企业官网搭建
  • 关于网页设计的网站免费发布信息网站大全
  • 郑州新闻头条seo基础教程
  • 做网站比较大的公司朔州seo