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

php网站 mysql数据库昆山城乡建设局网站

php网站 mysql数据库,昆山城乡建设局网站,外贸seo博客,wordpress 图片裁剪插件目录 前言: 一:C语言中区域划分的回顾及各个变量存在的位置 1.经典例题 ​编辑2.C/C中内存区域的划分 二:C内存管理方式 new delete操作符 1.对于内置类型 2.对于自定义类型 三:operator new和operator delete函数 1…

目录

前言:

一:C语言中区域划分的回顾及各个变量存在的位置

1.经典例题

​编辑2.C/C++中内存区域的划分 

二:C++内存管理方式  new delete操作符

1.对于内置类型

2.对于自定义类型 

三:operator new和operator delete函数 

1.new和delete的底层实现原理

2.new 和delete对内置类型和自定义类型处理的底层原理

1.对于内置类型

2.对于自定义类型

1.new的原理

2.delete的原理

3.new[N]的原理

4.delete[]的原理

四:定位new表达式(placement-new)

1.概念

五:malloc/free和new/delete的区别 

接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧 

前言:

在C/C++中,对于要开辟和释放动态的内存空间,在C语言中常常使用malloc,calloc,realloc,free四大函数来完成,而在C++中就会使用new和delete来完成动态内存空间的申请释放,而C++兼容C语言所以也可以使用四大函数,但注意free和delete不能混着用,尽量匹配使用的

一:C语言中区域划分的回顾及各个变量存在的位置

1.经典例题

2.C/C++中内存区域的划分 

二:C++内存管理方式  new delete操作符

1.对于内置类型

我们可以发现对于malloc和new申请的空间都不会完成初始化,所以对于内置类型new和malloc差不多,那么在C中要想完成初始化的话,就得使用calloc函数,C++中也可以完成初始化 

开辟多个并初始化 

2.对于自定义类型 

三:operator new和operator delete函数 

1.new和delete的底层实现原理

1.new和delete是用户用来动态内存申请和释放的操作符,operator new和operator delete是系统提供的全局函数,而new在底层是调用operator new全局函数来实现动态申请空间的,delete在底层是调用operator delete 全局函数来实现动态内存空间的释放的

2.operator new全局函数:该函数实际是通过malloc来申请空间的,当malloc申请空间成功时直接返回;申请失败时抛异常

3.operator delete全局函数是通过free来释放空间的

2.new 和delete对内置类型和自定义类型处理的底层原理

1.对于内置类型

malloc free和 new delete基本相同,不同的是 new delete申请和释放的是单个元素的空间,new[],delete[]申请的是一块连续的空间,new失败时抛异常,而malloc失败时返回NULL

2.对于自定义类型
1.new的原理

       1.调用operator new函数申请空间

       2.在申请空间时自动调用构造函数

2.delete的原理

1.调用operator delete函数释放对象的空间

2.在空间上执行析构函数,完成对象中资源的清理工作

3.new[N]的原理

1.调用operator new[]函数,在operator new[]函数中调用N次operator new函数完成N个对象空间的申请

2.在申请的空间上执行N次构造函数

4.delete[]的原理

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

2..调用operator delete[]函数,在operator delete[]函数中调用N次operator delete函数完成N个对象空间的释放

四:定位new表达式(placement-new)

1.概念

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

定位new表达式在实际中一般是配合内存池使用的,内存池的内存是由操作系统的对上申请的,内存池分配的内存没有初始化 ,如果是自定义类型就可以使用定位new表达式调用构造函数初始化

五:malloc/free和new/delete的区别 

共同点:都是从堆上申请空间,并且需要用户手动释放

不同点:

1.malloc /free是函数,new/delete是操作符

2.malloc申请的空间不会初始化,new可以初始化

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

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

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

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

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

相关文章:

  • 网站建设 搜狐号什么推广方法是有效果的
  • 青色系网站番禺人才网招聘网
  • 网站运营管理员具体做什么zhicms系统wordpress
  • 网站空间是指什么nas访问不了wordpress
  • 网站建设公司公司好网站建设专家怎么样
  • 建设股份公司网站网页设计需要学什么知乎
  • 无锡建设工程质量监督网站wordpress积分可见
  • 乐清网站制作推广杭州外贸网站制作
  • 课件ppt模板免费下载网站网站建设与管理教学方案
  • 西安 网站 高端 公司个人网站收款
  • 鼓楼网站seo搜索引擎优化wordpress 显示链接替换
  • 可以建网站的平台个人博客网站模板wordpress
  • 自建网站免费教程彩页设计网站
  • 网站建设尺寸如何让网站收录公司名
  • 网站开发技术支持网站建设捌金手指下拉四
  • 为什么网站建设要值班贵阳网站制作方舟网络
  • 河北购物网站开发公司10大免费软件下载
  • 自己买服务器建网站简述网站规划的一般步骤
  • 百度网站怎么做视频播放器免备案的网站空间
  • 如何制作手机网站电商营销推广方案
  • 健康网站模版网站加载动画效果
  • 营销型网站建设个人贵阳手机网站建设
  • 网站开发与管理对应的职业及岗位手机网站改版
  • 织梦网站程序模板下载网站开发阶段
  • 网站建设外包必须注意几点自己做一个app软件大概要多少钱
  • net手机网站开发上海高端网站定制
  • 建站导航做影视网站有什么风险
  • 推广网站怎么建广西桂林天气预报15天
  • 开网站建设公司怎么样jquery插件网站推荐
  • 门户网站开发 论文阿里云 wordpress 邮件