C++内存管理
来源:互联网 发布:数据库系统答案 编辑:程序博客网 时间:2024/06/09 18:20
计算机中的内存在用于编程时,被人为的进行了分区(Segment),分为:“栈区”(Stack)、“堆区”(Heap)、全局区(静态区,Static)、文字常量区和程序代码区。在前面的课程中,我们主要直接涉及到的是栈区的内存,在你的程序中,函数的参数值,局部变量的值等都被存在了“栈区”,这部分的内存,是由系统来来帮助你来管理的,没有特殊情况的时候,你是不需要对其进行特别处理的。
而针对堆区的内存,一般由程序员进行分配(new)和释放(delete), 使用堆内存的原因一般是“栈上内存比较小,不够用”、“系统管理内存的方式死板,不方便用”这两大类原因。对于堆上的内存,被程序员手动分配后,若程序员不释放就可能会出现“内存泄漏”。很多企业级的应用,都因为内存泄漏而在“正常”运转很长时间后,轰然“坍塌”。在后面的入门课程中,我们会简单的对这块的知识进行介绍。
全局区、文字常量区和程序代码区在我们入门阶段,暂时还可以不去过多理解(甚至看不懂也无妨),只需要知道他们的大致作用即可——全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 程序结束后由系统释放;文字常量区是用于储存常量字符串的, 程序结束后由系统释放;程序代码区用于存放函数体的二进制代码。
eg:
int *arr = new int[10];//分配内存
delete [] arr;//释放内存
arr = NULL;//好的习惯,避免“悬垂指针”
0 0
- C/C++ 内存管理
- C内存管理函数
- C内存管理
- C内存管理
- object c 内存管理
- C 内存管理详解
- C 内存管理
- C语言内存管理
- c/c++内存管理
- c 的内存管理
- C内存管理
- Ojbective-c 内存管理
- C内存管理
- objective-c内存管理
- Objective-c 内存管理
- Objective-C内存管理~~
- c,c++内存管理
- Objective-C内存管理
- Mysql备份与恢复
- 求连续子数组的最大和
- 链队列
- 收集大牛的论坛、博客地址,学习网址
- 解决QT在VS下中文乱码的问题
- C++内存管理
- java虚拟机字节码执行引擎浅析
- WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单
- IAR中cortex-m4启动流程分析
- (1) 单例模式
- Set、List、Map以及Arraylist、LikedList、Vector、Hashtable、HashMap的介绍
- Linux下线程同步机制
- linux c++带通配找文件 枚举文件 目录
- CodingTrip - 携程编程大赛 (预赛第一场)