请你说一说C++的内存管理是怎样的?

发布于 2020-01-05 14:48:19
关注者
0
被浏览
1590
1 个回答
  • 面试哥
    面试哥 2020-01-05
    为面试而生,有面试问题,就找面试哥。

    在C++中,虚拟内存分为代码段、数据段、BSS段、堆区、文件映射区以及栈区六部分。

    代码段:包括只读存储区和文本区,其中只读存储区存储字符串常量,文本区存储程序的机器代码。

    数据段:存储程序中已初始化的全局变量和静态变量

    bss 段:存储未初始化的全局变量和静态变量(局部+全局),以及所有被初始化为0的全局变量和静态变量。

    堆区:调用new/malloc函数时在堆区动态分配内存,同时需要调用delete/free来手动释放申请的内存。

    映射区:存储动态链接库以及调用mmap函数进行的文件映射

    栈:使用栈空间存储函数的返回地址、参数、局部变量、返回值

面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看