c++primer plus之如何处理内存
来源:互联网 发布:hibernate 数据库配置 编辑:程序博客网 时间:2024/05/21 07:04
根据分配内存的方法,c++有三种管理数据内存的方式:自动存储,静态存储和动态存储。在存在时间的长度方面,这三种方式分配的数据对象各不相同。
1:自动存储
在函数内部定义的常规变量使用自动存储,被称为自动变量,在所属函数被调用时存在,该函数结束时消亡。自动变量是一个局部变量,其作用域为包含它的代码块。自动变量通常存储在栈中,执行代码块时,其中的变量将依次加入到栈中,而在离开代码块时,将按照相反的方向释放这些变量,意味着后进先出(LIFO)。执行过程中,栈将不变增大或缩小
2:静态存储
变量在整个程序执行过程中都存在的存储方式。使变量成为静态的方式有两种:一是在函数外面定义它,二是在声明变量时使用关键字static:例如,static double fee = 56.5;
3:动态存储
new和delete运算符提供了一种比自动变量和静态变量更加灵活的方法。它们管理了一个内存池,这在c++中被称为动态存储空间或堆。该内存池用于存储静态变量和动态变量的内存是分开的,因此,数据的生命周期不完全受函数的生存周期控制。在栈中,自动添加和删除机制使得内存占用的存储空间都是连续的,而new和delete的相互影响使得内存池中占用的存储空间不连续,因此,追踪这些内存的位置更困难。
0 0
- c++primer plus之如何处理内存
- 《C Primer Plus》学习笔记之 C内存管理
- C primer plus 学习之存储类、链接、内存管理
- 《C Primer Plus 》--C++处理数据-变量
- 《C Primer PLus》实践之疑惑篇
- 读书记之《C Primer Plus》
- 《C Primer Plus》学习笔记之 函数
- c++primer plus复合类型之枚举
- c++primer plus复合类型之指针
- C-PRIMER PLUS读书笔记
- C-PRIMER PLUS读书笔记
- C Primer Plus 读书笔记
- C Primer Plus学习计划
- C primer plus 一到五章
- 重读 c primer plus
- c primer plus note
- c primer plus chapter6
- c primer plus chapter6
- 个人记录-LeetCode 99. Recover Binary Search Tree
- 快速排序(以中间为基准)
- elasticsearch集群监控工具bigdesk
- Linux /dev/ttxx
- node笔记---node基础
- c++primer plus之如何处理内存
- iOS开发实现TouchID指纹解锁
- HTTP协议学习笔记七
- 字符串应用,过滤关键字,char*版/string版/CString版
- MD5引发的血案
- 《Head First设计模式》之策略模式
- Java中的序列化与反序列化
- Oracle EBS财务模块(一)基本功能
- Linux运维工程师必学必备的8项IT技能