C++中的内存划分,第1张

C++中的内存划分,第2张

在C++中,内存分为五个区域,分别是堆、栈、空闲存储区、全局/静态存储区和常量存储区。

堆栈是变量的存储区域,需要时由编译器分配,不需要时自动清除。里面的变量通常是局部变量,函数参数等。

堆是新分配的内存块。它们的发布由我们的应用程序控制,与编译器无关。通常,新的对应于删除。如果程序员不释放,程序结束后操作系统会自动回收。

空闲存储区是malloc等分配的内存块。它与heap非常相似,但它以free结束其生命。

全局/静态存储区,全局变量和静态变量被分配到同一个内存中。在以前的C语言中,全局变量分为初始化的和未初始化的。C++里没有这种区分,它们共享同一个内存区域。

常数存储区,是一个特殊的存储区,里面存储着常数,不能修改(当然你可以通过不正当的手段修改,方法有很多)。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++中的内存划分

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情