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

搜索引擎 网站地图十大教育培训机构排名

搜索引擎 网站地图,十大教育培训机构排名,百度做网站审核要多久,wordpress创建搜索结果动态内存 在C/C程序中(线程)栈空间是有限的,大部分变量使用的都是动态分配来的堆内存,这些动态申请来的堆内存是需要开发者通过代码去自行管理的。如何管理好这些动态申请来的内存,是C/C开发中的一个重点难点问题。 m…

动态内存

在C/C++程序中(线程)栈空间是有限的,大部分变量使用的都是动态分配来的堆内存,这些动态申请来的堆内存是需要开发者通过代码去自行管理的。如何管理好这些动态申请来的内存,是C/C++开发中的一个重点难点问题。

malloc是开空间

calloc开空间+初始化

realloc在原来的空间增加空间(原地扩+异地扩)

int* p1=new int 申请一个int空间

int* p2=new int[10] 申请十个int空间

int* p3=new int(10) 申请一个int空间,并初始化

int* p4=new int[10]{1,2,3,4}申请10个int空间,并依次初始化,其余置0 c++11才支持

delete p1

delete[] p2

delete p3

delete[] p4

对于内置类型而言,用malloc和new,除了用法不同,其余都是相同

他们的区别在于自定义类型

malloc只开空间,new开空间+调用构造函数

new、delete与malloc、free的区别在于new会调用构造函数,delete会调用析构函数,而malloc、free不会

new先开自定义类型空间,再调用构造函数,对其初始化

delete先清理初始化的空间,再对自定义类型进行释放

失败的处理方式不同

malloc失败,返回空指针

new失败,抛异常

operator new与malloc的功能是一样的,但operator new失败会抛异常

operator new是封装了malloc加了个抛异常,让new去调用他

new的底层原理

去调用call operator new   call  operator new

去调用对应的构造函数  call stack::stack

new=operator new+构造函数

自定义类型

new原理

调用operator new函数申请空间,在申请空间上执行构造函数,完成对象的构造

delete原理

在空间上执行析构函数,在operator delete函数释放空间的空间

new[]原理

1.调用operator new[]函数,在operator new[]中实际调用operator new函数完成N个对象空间申请,在申请的空间上执行N次构造函数

delete原理

1.在释放的对象空间上执行N次析构函数,完成N个对象中资源的清理

2.调用operator delete[]释放空间,实际在operator delete[]中调用operator delete来释放空间

定位new表达式

定位new表达式是在已分配的原始空间中调用构造函数初始化一个对象

stack obj=)stack* operator new(sizeof(stack))

new(obj) stack(4)

使用场景,一般配合内存池使用,因为内存池分配出来的空间内存没用初始化,所以如果是自定义类型的对象,需要使用定位new显示调用的构造函数进行初始化

malloc、free和new/delete的区别

相同

malloc/free和new/deletede共同点是:都是从堆山申请空间,并且需要手动释放

不同

malloc和free是函数,new\delete是操作符

malloc申请的空间不会初始化,new可以调用构造函数初始化

malloc申请空间时,需要手动计算空间大小并传递,new只需要在其后跟上空间的类型即可,如果是多个对象,[]中指定对象个数即可

malloc返回值是void* 在使用时必须强转,new不需要,因为new后跟的时空间的类型

malloc申请空间时报时,返回的是NULL,因此使用时必须判定,new不需要,但new需要捕获异常

申请自定义类型对象时,malloc\free只会开辟空间,不会调用构造函数与析构函数,而new在申请空间后会调用构造函数完成对象初始化,delete在释放空间前会调用析构函数完成空间中的资源的清理

内存泄漏

内存泄漏是指针丢了找不到,找不到指针释放不了空间。

http://www.bjxfkj.com.cn/article/106302.html

相关文章:

  • 好看云在线网站模板接广告的平台推荐
  • 网站日志解析关键词分析软件
  • 山西建设厅官方网站公示如何写软文赚钱
  • 500元做网站在线咨询
  • 两学一做网站是多少移动端关键词排名优化
  • wordpress+社区上海企业优化
  • 网站建设开发的目的营销方案案例范文
  • 视频 播放网站怎么做公司网络营销实施计划
  • 怎样在百度做网站表白怎么查看域名是一级还是二级域名
  • h网站建设刚出来的新产品怎么推
  • 上海平台网站建设平台十大接单推广平台
  • 哈尔滨网站建设制作价格永州网站seo
  • mvc5 网站开发seo如何优化的
  • 怎么做关于狗的网站什么时候友情链接
  • 网站备案ip外链火
  • 怎么做点击图片进网站今日实时热点新闻事件
  • 网站装修的代码怎么做建站平台哪个好
  • 网站开发流程 ppt广州网络seo优化
  • 企业在什么网站推广网站推广搜索
  • 网站注册赌博违法吗网站优化名词解释
  • 网站建设申报方案上海网络推广外包
  • 网站建设 贸易seo人员的相关薪资
  • 素材下载网站开发文档seo外包公司排名
  • 网站目录怎么做301跳转关键词在线查询
  • 温州市建设监理协会网站百度云搜索引擎入口
  • 网站报价表对比表怎么做优化网站关键词排名软件
  • 网站开发什么是会话站长统计app下载
  • 做一个网站多长时间万网域名注册查询网
  • 手机网站返回按钮怎么做企业营销培训课程
  • 做网站如何变现推广方案100个