`
russelltao
  • 浏览: 157811 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

谁说C++的内存分配中,堆和自由存储区是两回事?

 
阅读更多
不小心到网上一搜,居然发现一大堆不同的文章,都不知从谁那引用,说C++的内存分成五种,一种自由存储区,特征是malloc和free来分配,一种是堆,用new和delete来分配,简直就是误人子弟,麻烦这位高人有空看看各个C++的实现版本,仔细看看new和delete到底怎么实现的.明明就是放堆里,非要整出个自由存储区.
本来只是一个小问题,可是看到持这种结论的竟然大有人在,看来网络上的东西,非要带着批判的态度看才行.
分享到:
评论

相关推荐

    C++内存分配情况

    在C++中,内存分成五个区:堆、栈、自由存储区、全局/静态存储区和常量存储区。每个区的特点和使用场景都不同,了解这些区的区别和特点对编程非常重要。 一、栈 栈是那些由编译器在需要的时候分配,在不需要的时候...

    C,C++内存分配的详细讲解包括堆,栈,数据段等

    ### C/C++内存分配详解:堆、栈、数据段及其他 #### 一、C语言中的内存区域划分 在C语言中,程序运行时使用的内存主要分为以下几个区域: 1. **栈区**:由编译器自动分配和释放,主要用于存储函数调用时的局部...

    C++堆栈自由存储区全局静态存储区和常量存储区 C++堆栈自由存储区全局静态存储区和常量存储区

    根据给定的信息,本文将对C++中的四种存储区域——堆栈、自由存储区、全局静态存储区以及常量存储区进行详细的解析。 ### 一、堆栈(Stack) 堆栈是程序运行时的一种重要的存储区域,它由操作系统管理,并且在函数...

    可变分区存储管理方式的内存分配和回收

    通过这段代码的实现可以看出,在可变分区存储管理中,内存分配和回收的过程涉及到多个步骤,包括读取空闲分区信息、根据特定算法进行分区的选择、修改数据结构以反映内存分配的状态变化等。这些步骤共同保证了内存...

    Windows内存管理机制及C++内存分配

    本文将深入探讨Windows内存管理机制以及C++中的内存分配。 首先,我们来看Windows的内存管理。在Windows中,每个进程都有自己的独立地址空间,这是通过虚拟内存技术实现的。虚拟内存允许每个进程都以为拥有整个物理...

    C/C++内存分配方式,堆区,栈区专题.rar

    本专题将深入探讨C/C++中的内存分配方式,特别是堆区和栈区的使用,以及与VC++(Visual C++)开发环境相关的内存管理实践。 首先,我们要了解C/C++中的内存分为几个主要区域:栈区、堆区、静态存储区和常量存储区。...

    内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区

    ### 内存区划分、内存分配详解 #### 一、内存区域概述 在C和C++编程语言中,程序运行时使用的内存可以被划分为不同的区域,每种区域都有其特定的功能和生命周期。理解这些区域如何工作对于有效地管理和优化程序...

    可变分区存储管理方式的内存分配与回收(C++)

    通过对可变分区存储管理方式下的内存分配与回收的探讨及具体实现,我们了解到这种内存管理方式在操作系统设计中的重要性和实用性。通过合理的内存分配与回收策略,可以显著提升系统的性能并降低内存碎片的影响。此外...

    C++程序内存分配讲解

    4、问:宏定义的常量是怎么回事?答:宏代换 5、问:字符串常量的存储有哪些?答:数组、指针等 6、问:静态变量在哪?答:全局区 7、问:静态变量有何用?答:数据持久存在 8、问:栈、堆我们需注意什么?答:不要...

    C++中的内存划分

    C++中的内存主要分为两大类:堆内存和栈内存。栈内存由编译器自动分配和回收,用于存储局部变量和函数调用的信息。当函数执行完毕后,其在栈上的内存会自动释放,无需程序员干预。相比之下,堆内存则需要程序员手动...

    c++堆和栈及内存的使用分配

    栈区的特点是存取速度快,但空间有限,通常只有几MB大小,且栈内存分配和释放必须遵循先进后出(LIFO)的原则。 **二、堆区(Heap)** 堆区则由程序员负责分配和释放。如果不手动释放,程序结束时可能会由操作系统...

    C++ 内存管理算法和实现.

    C++提供了两种主要的内存分配方式:静态分配和动态分配。静态分配包括栈分配和静态存储区分配,通常在编译时进行,不需要显式地释放。动态分配涉及堆内存,需要使用`new`运算符申请,`delete`运算符释放。不正确地...

    深入理解内存 深入理解内存 C++内存管理

    在C++中,内存主要分为五个区域:堆、栈、自由存储区、全局/静态存储区和常量存储区。 1. **内存分配方式** - **栈**:当函数被调用时,局部变量在栈上创建,函数执行完毕后自动释放。栈内存分配速度快,但空间...

    内存分配——静态存储区 栈 堆.doc

    ### 内存分配详解:静态存储区、栈与堆 #### 一、内存基本构成 在计算机编程中,内存管理是十分重要的一个方面。合理的内存分配不仅能够提高程序的运行效率,还能有效避免一些常见的编程错误,比如内存泄漏。本文...

    内存分配与回收设计代码

    内存分配与回收是计算机编程中的核心概念,尤其是在C++这种低级语言中,程序员需要直接管理内存。本文将深入探讨这两个主题,通过实例代码来帮助理解它们的艺术。 内存分配是程序运行时为变量、对象或数据结构预留...

    C++内存管理技术内幕

    - 理解内存分配的原理和机制对于编写高效的C++代码来说是基础,因为这关系到程序的性能和稳定性。 - 在学习过程中,通过阅读和分析汇编代码可以更深入地理解内存管理的工作原理。 在实际编程中,要成为C++高手,...

    C++内存管理的原理和说明

    在C++中,内存被分为五个区域:栈、堆、自由存储区、全局/静态存储区和常量存储区。栈主要用于存储函数内部的局部变量,它们在函数调用时分配,结束时自动释放,速度快但容量有限。堆则是通过new运算符动态分配的...

    C++ 内存池私有堆实现

    C++ 内存池私有堆 实现 测试...2. CPrivateHeapBuffer: 在私有堆中自动分配和释放指定大小的内存 一般用于在函数体内分配和释放局部作用域的堆内存 从而避免对 CPrivateHeap::Alloc() 和 CPrivateHeap::Free() 的调用

Global site tag (gtag.js) - Google Analytics