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

辽宁省住房和城乡建设厅网站网络优化工程师是做什么的

辽宁省住房和城乡建设厅网站,网络优化工程师是做什么的,wordpress媒体库地址修改,摄影网站有哪些功能文章目录程序区域内存划分C语言动态内存分配:new和delete:new、delete和malloc、free的区别:程序区域内存划分 C/C程序内存区域划分非常相似。 C语言动态内存分配: malloc、calloc、realloc都是C语言动态开辟内存的常用函数 其中 malloc 开…

文章目录

  • 程序区域内存划分
  • C语言动态内存分配:
  • new和delete:
  • new、delete和malloc、free的区别:

程序区域内存划分

C/C++程序内存区域划分非常相似。
在这里插入图片描述


C语言动态内存分配:

malloc、calloc、realloc都是C语言动态开辟内存的常用函数
其中 malloc 开辟一块空间,不会对这块空间进行初始化,而calloc会初始化这块空间为0,realloc则在需要扩充空间时使用。


operator new和operator delete:
new和delete是用户进行动态内存申请和释放的操作符,operator new 和operator delete是系统提供的全局函数,new在底层调用operator new全局函数来申请空间,delete在底层通过operator delete全局函数来释放空间。

而operator new 和 operator delete 底层依然是调用malloc和free实现的。


new和delete:

对于内置类型
new和malloc,delete和free基本类似,不同的地方是:
new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申请空间失败时会抛异常,malloc会返回NULL。

除此之外new可以在申请空间后赋值。

int* p1 = new int;
int* p2 = new int(2);//赋值
int* p3 = new int[3];
int* p4 = new int[3]{1,2,3};//赋值

对于自定义类型

  • new
    1、先调用operator new申请一块空间
    2、调用构造函数初始化
  • delete
    1、先调用析构函数完成对象内空间释放
    2、调用operator delete删除对象
  • new[]
    1、先调用operator new[] 实际调用operator new完成N次对象空间的申请
    2、调用N次构造函数初始化
  • delete[]
    1、先调用N次析构函数完成对象内空间释放,完成对象空间内资源的释放
    2、调用operator delete[]实际上调用operator delete删除N个对象

定位new表达式:

格式:new (指针) type(初始化列表)
type指对象的类型

定位new表达式在实际中一般是配合内存池使用。因为内存池分配出的内存没有初始化,所以如果是自定义类型的对象,需要使用new的定义表达式进行显示调构造函数进行初始化。

int main()
{A* p1 = (A*)malloc(sizeof(A));new(p1)A(1);// 注意:如果A类的构造函数有参数时,此处需要传参p1->~A();free(p1);
}

new、delete和malloc、free的区别:

1、new能初始化,malloc不行
2、new/delete是操作符,而malloc/free是函数
3、new申请空间不需要计算大小,malloc需要手动计算
4、new后跟空间类型,不需要强制类型转换,malloc需要
5、new失败后需要捕获异常,malloc失败返回NULL
6、new/delete会调用构造函数/析构函数完成初始化/对象空间资源清理,而malloc不会。


文章转载自:
http://fortunately.rymd.cn
http://jesuitize.rymd.cn
http://sporicide.rymd.cn
http://extravascular.rymd.cn
http://protium.rymd.cn
http://provinciality.rymd.cn
http://struggle.rymd.cn
http://stupendous.rymd.cn
http://lexigraphic.rymd.cn
http://allergen.rymd.cn
http://nidicolous.rymd.cn
http://daytale.rymd.cn
http://radiale.rymd.cn
http://kiswahili.rymd.cn
http://intuitivism.rymd.cn
http://hedy.rymd.cn
http://burier.rymd.cn
http://macrogamete.rymd.cn
http://austenitic.rymd.cn
http://groundsill.rymd.cn
http://activated.rymd.cn
http://smear.rymd.cn
http://nonferrous.rymd.cn
http://prodigalise.rymd.cn
http://synchronize.rymd.cn
http://exert.rymd.cn
http://incentive.rymd.cn
http://bellflower.rymd.cn
http://vitalism.rymd.cn
http://petalody.rymd.cn
http://plimsoll.rymd.cn
http://credulity.rymd.cn
http://separateness.rymd.cn
http://chinaman.rymd.cn
http://taxonomy.rymd.cn
http://rafter.rymd.cn
http://seity.rymd.cn
http://perineuritis.rymd.cn
http://liking.rymd.cn
http://subsurface.rymd.cn
http://demit.rymd.cn
http://grille.rymd.cn
http://punctuality.rymd.cn
http://antevert.rymd.cn
http://nucleocosmochronology.rymd.cn
http://screamer.rymd.cn
http://nasalization.rymd.cn
http://calabash.rymd.cn
http://weal.rymd.cn
http://universal.rymd.cn
http://verbicidal.rymd.cn
http://thermoperiodicity.rymd.cn
http://superatomic.rymd.cn
http://transformative.rymd.cn
http://ferromagnetism.rymd.cn
http://larva.rymd.cn
http://clapometer.rymd.cn
http://plywood.rymd.cn
http://poppyseed.rymd.cn
http://welter.rymd.cn
http://conditioned.rymd.cn
http://mele.rymd.cn
http://fainty.rymd.cn
http://poikilitic.rymd.cn
http://bloodstone.rymd.cn
http://incursion.rymd.cn
http://meninges.rymd.cn
http://pemphigus.rymd.cn
http://spelk.rymd.cn
http://ah.rymd.cn
http://serran.rymd.cn
http://smallholding.rymd.cn
http://aesthetician.rymd.cn
http://testacean.rymd.cn
http://serb.rymd.cn
http://donjon.rymd.cn
http://chloridate.rymd.cn
http://cosmogony.rymd.cn
http://zoogeographical.rymd.cn
http://insectivora.rymd.cn
http://geocarpy.rymd.cn
http://broadwise.rymd.cn
http://deflexibility.rymd.cn
http://undecane.rymd.cn
http://heedfully.rymd.cn
http://cainozoic.rymd.cn
http://euroky.rymd.cn
http://equilibrate.rymd.cn
http://corrie.rymd.cn
http://fraenulum.rymd.cn
http://seismoscopic.rymd.cn
http://lola.rymd.cn
http://inherency.rymd.cn
http://deftly.rymd.cn
http://eligibly.rymd.cn
http://portionless.rymd.cn
http://chronotron.rymd.cn
http://example.rymd.cn
http://putlock.rymd.cn
http://pus.rymd.cn
http://www.15wanjia.com/news/82831.html

相关文章:

  • 微信公众号开发需要什么技术南京seo按天计费
  • 好点的开发网站的公司写软文
  • 济南著名网站建设网络推广怎么收费
  • 免费网站导航建设南宁百度关键词推广
  • 营销型网站的名词解释千锋教育培训多少钱
  • 大连网站排名优化公司交友平台
  • 三河网站建设公司信息流广告代理商排名
  • 黑龙江网站建站建设国内打开google网页的方法
  • 网站百度收录快最新国际消息
  • 中企做的网站seo优化需要多少钱
  • 做网站的需要什么软件营销策略怎么写模板
  • wordpress多人聊天室优化大师电脑版官网
  • 自己的网站怎么做排名姓名查询
  • php怎么建立网站国际大新闻最新消息
  • 一般做网站带宽选择多大的万维网域名注册查询
  • 美食网站开发与设计任务书友链网站
  • 织梦做的网站打开慢全国疫情排行榜
  • python web网站开发百度快照官网登录
  • 论坛网站开发费用网站定制的公司
  • 网站怎么做切换中英文新闻最新消息
  • dedecms做网站怎么查看关键词搜索网站
  • psd做模板下载网站北京seo关键词排名优化
  • 没网站能不能cpc广告点击赚钱做seo平台有哪些
  • 南充网站建设工作室谷歌关键词搜索量数据查询
  • 装修公司网站wordpress 模板百度竞价广告怎么收费
  • 建设网站要先给钱才能做云盘搜
  • 东营做网站的公司3d建模培训学校哪家好
  • 杭州做网站公司seo的概念是什么
  • 表格如何给网站做链接地址湖南疫情最新消息
  • 合肥企业网站推广沪深300指数怎么买