美文网首页
C++内存管理方式

C++内存管理方式

作者: 365_9163 | 来源:发表于2020-09-29 09:44 被阅读0次

C++中内存主要分为5个存储区:

1.栈:

    局部变量,函数参数等存储在该区,由编译器自动分配和释放;栈属于计算机系统的数据结构,进栈出栈有相应的计算机指令支持,而且分配专门的寄存器存储栈的地址,效率高,内存空间地址连续,栈的内存空间有限。        

2.堆:

    需要程序员自己申请和释放(new,delete),属于动态分配内存,内存空间几乎没有限制,l内存空间不连续,因此会产生内存碎片;操作系统有一个记录空间内存的链表,收到内存申请时,遍历链表,找到第一个空间大于申请空间的堆节点,将该节点分配给程序,并将该节点从链表中删除。一般系统会在该内存空间的首地址处记录本次分配的内存大小,用于delete释放该内存空间。

3.全局静态存储区:

    全局变量,静态变量分配到该区,程序结束时自动释放,包括DATA段(全局初始化区)和BSS段(全局未初始化区)。其中,初始化的全局变量和静态变量放在Data段,未初始化的全局变量和静态变量存放在BSS段。BSS段特点是:程序执行前BSS段自动清零,所以未初始化的全局变量和静态变量在程序执行前已经成为0。

4.文字常量区:

    存放常量,而且不允许修改,程序结束后由系统释放。

5.程序代码区:

    存放程序二进制代码        

相关文章

  • C++内存管理方式

    C++中内存主要分为5个存储区: 1.栈: 局部变量,函数参数等存储在该区,由编译器自动分配和释放;栈属于计算机系...

  • Java垃圾收集

    众说周知,Java与C++同为支持面向对象的语言,但他们对内存的管理方式却有很大的不同。C++开发者往往需要手动调...

  • 操作系统之内存管理

    内存管理 包括内存管理和虚拟内存管理 内存管理包括内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(...

  • GO语言-GC

    引言 垃圾回收机制是高级语言常见的一类内存资源管理方式,C/C++这类语言内存分配及回收很大的主动权在调用者,gc...

  • c++内存管理

    c++内存管理长文 c++内存管理

  • 内存管理

    内容包括: C++内存管理 Java内存管理 C++内存管理 内存分配方式 在C++中,内存分成5个区,分别是栈、...

  • iOS内存管理(MRC、ARC)深入浅出

    内存管理方式 首先明确一点,无论在MRC还是ARC情况下,Objective-C采用的是引用计数式的内存管理方式,...

  • iOS内存管理(MRC、ARC)深入浅出

    内存管理方式 首先明确一点,无论在MRC还是ARC情况下,Objective-C采用的是引用计数式的内存管理方式,...

  • 内存管理:不看白不看,看了就是赚

    一、iOS的内存管理方式 1、小对象的内存管理 -- Tagged Pointer 2、普通对象的内存管理 -- ...

  • 内部管理初步,协议概述

    内存管理方式概述: OC2.0提供两种内存管理方式:垃圾回收机制(gc)和引用计数;gc用于mac系统开发,iOS...

网友评论

      本文标题:C++内存管理方式

      本文链接:https://www.haomeiwen.com/subject/uotjuktx.html