C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
admin
2023-07-25 10:02:39
0

,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。

,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。堆可以动态地扩展和收缩。

自由存储区,就是那些由 malloc 等分配的内存块,他和堆是十分相似的,不过它是用 free 来结束自己的生命的。

全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的 C 语言中,全局变量又分为初始化的和未初始化的(初始化的全局变量和静态变量在一块区域,未初始化的全局变量与静态变量在相邻的另一块区域,同时未被初始化的对象存储区可以通过 void* 来访问和操纵,程序结束后由系统自行释放),在 C++ 里面没有这个区分了,他们共同占用同一块内存区。

常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多)


相关内容

热门资讯

美前官员急喊话:再不抢6G频谱... 【文/观察者网 王一】随着人工智能(AI)竞争加速从大模型、数据中心延伸到工厂、港口、物流和交通网络...
美国再对伊朗实施军事打击 央视记者获悉,当地时间6月27日,美国已对伊朗实施军事打击。美国中央司令部发表声明称,在总统特朗普指...
委内瑞拉地震中国公民遇难人数升... 据中国驻委内瑞拉大使馆消息,截至当地时间6月27日17时,据不完全统计,已确认有8名中国公民在“6·...
《自然》刊文再质疑微软量子计算... IT之家 6 月 25 日消息,据路透社报道,科学期刊《自然》最新刊发的一篇评论文章,对微软去年宣称...
梁汝波的“暴力减法”:砍掉昨日... 在全世界都在给AI做加法,堆算力、堆参数、堆功能的时候,梁汝波下达了一个残酷的指令:做减法。 ...
四大平行论坛解锁垂直场景 百项... 6月27日,国际创新创业创意生态大会暨通用人工智能“满天星”挑战赛启动会在重庆人工智能湾区国际会议中...
智慧农资看农大科技:AI综合服... 6月24日至25日,由中国农资流通协会和山东农大肥业科技股份有限公司(简称:农大科技)主办的第六届智...
省内首批!汕头这一项目入选全省... 近日,广东省政务服务和数据管理局公布2026年第一批广东省公共数据“跑起来”示范场景建设清单。在汕头...
原创 国... 外媒《金融时报》独家消息,苹果正向美国监管部门提交申请,希望获批采购国产长鑫存储 DRAM 内存芯片...
GPT-5.6:最强的模型,最... 最强的模型已经造出来了,但你可能暂时用不上。 北京时间6月27日凌晨(美东时间6月26日周五),Op...