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

门户网站建设自查如何快速提升网站关键词排名

门户网站建设自查,如何快速提升网站关键词排名,简述新企业的注册流程,网站建设优化服务渠道目录 一、内存分布 1.1内存分布图: 1.2 为什么要将bss和data区分开呢? 1.3 堆和栈有什么区别 二、malloc、free;new、delete 2.1 new和delete是如何实现的,new与malloc的异同处 2.2既然有了malloc/free,C为什么还…

目录

一、内存分布

1.1内存分布图:

 1.2 为什么要将bss和data区分开呢?

1.3 堆和栈有什么区别

 二、malloc、free;new、delete

2.1  new和delete是如何实现的,new与malloc的异同处

2.2既然有了malloc/free,C++为什么还需要new/delete


一、内存分布

1.1内存分布图:

 1.2 为什么要将bss和data区分开呢?

在程序编译的时候,不会给.bss段中的数据分配空间,只是记录数据所需空间的大小。在程序执行的时候,才会给.bss段中的数据分配内存。通过这种方式,可以节省一部分内存空间,进一步缩减可执行程序的大小。

1.3 堆和栈有什么区别

堆是由malloc和new动态开辟的一段内存,由程序员自己管理和释放。栈则是由编译器自己开辟和管理的内存,一般用来存放函数的传参和局部变量。

空间由于频繁开辟和释放,所以会产生内存碎片的问题。

堆的生长空间向上,地址越来越大,栈则是向下,地址越来越小。栈的空间很小只有8M,而堆有4G。

 二、malloc、free;new、delete

2.1  new和delete是如何实现的,new与malloc的异同处

new和delete是对malloc和free的封装,new一个对象时,会首先调用malloc分配空间,然后执行对象的构造函数初始化这块空间,delete则会先调用对象的析构函数,然后调用free释放这块空间。

他们最大的区别则是 1、new会调用构造函数初始化空间。2、new并不需要指定资源的大小。3、new的返回值是对象类型的指针,而malloc则是void * 的指针。4、new如果调用失败,则会抛异常,而malloc调用失败则会返回NULL。5、new是一个操作符,malloc则是函数,operator new可以被重载。

2.2既然有了malloc/free,C++为什么还需要new/delete

这四个函数都是用来申请和释放内存。new/delete主要是对malloc/free进行了封装,使其能更好地申请和释放C++的对象资源,否则就得malloc一块空间,然后手动调用构造函数。

而malloc/free是已经编译好的库函数,其还要兼容C语言,不能够轻易修改,所以将其封装起来实现了new/delete。

http://www.dinnco.com/news/4999.html

相关文章:

  • 网站后台添加新闻怎么建网站卖东西
  • 做b2c网站多少钱海外网站seo优化
  • 律师事务所网站建设策划方案引擎搜索
  • 做网站获取手机号码最近时事新闻热点事件
  • 做备案的网站seo顾问服务 乐云践新专家
  • iis怎么做网站空间百度小程序排名优化
  • 成都装修公司网站建设深圳百度推广电话
  • 怎么做网站加盟聊城seo培训
  • 如何查找昆明做网站服务的公司竞价系统
  • 手机做任务网站疫情最新官方消息
  • 做市场分析的网站荆门网站seo
  • 网站流量分析报告精准引流推广团队
  • 做网站 数据库企业网站seo案例分析
  • 吉林手机版建站系统信息扶贫832网络销售平台
  • 沧州网站建设培训学校竞价推广外包托管
  • 中国效能建设网站百度网站制作联系方式
  • 网站 被 抄袭快优吧seo优化
  • h5页面可以跳转到小程序吗站长之家seo查询官方网站
  • 网络服务平台标书seo技术好的培训机构
  • 长春 房地产网站建设最新新闻国内大事件
  • 新疆巴州建设局网站网文网站排名
  • 服务类型的网站怎么做百度网站提交
  • 用.net做网站好 还是用php推广普通话文字内容
  • 网站备案公告海外游戏推广平台
  • 帮别人做网站赚钱吗企业官网怎么做
  • 胶州企业网站建设自己怎么做百度推广
  • 广东专业网站优化公司办理培训机构需要具备的条件
  • 国外有哪些做建筑材料的网站宁波免费建站seo排名
  • 网店设计方案搜索引擎优化期末考试答案
  • 代做设计网站好seo外包公司排名