在介绍C++中的十分重要的动态内存管理机制之前,有必要先单独来介绍一下C++中的两个概念,分别是栈和堆。
首先,应当明确的一点是栈和堆都是C++中用于存储数据的内存区域。
栈的英文为Stack,是一种数据结构,一种后进先出(LIFO, Last In First Out)的数据结构,在程序执行的过程中发挥作用,主要用于存储局部变量和函数调用的信息,比如,函数被调用时,栈上便会分配出一块称为栈帧(Stack Frame)的内存空间用于存储该函数的局部变量和相关信息,而当函数返回时,即函数执行完毕之后,之前用于存储的栈帧会被自动释放。
仅供参考:
堆的英文为Heap,也是一种数据结构,是C++中用于动态分配内存的区域。与栈不同的是,堆是一种特殊的树形数据结构,而且一般表现出二叉树的形式(如果有企业工作的经验的话,可以想象一下企业的岗位结构的模样)。
仅供参考:
下一章节中将具体介绍C++中如何动态地分配和释放内存。
免责声明:内容仅供参考,不保证正确性。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。