C++ 内存管理(四)--栈静态变量和局部变量、堆delete\new动态
来源:互联网 发布:h型钢重量计算软件 编辑:程序博客网 时间:2024/04/30 10:42
自动存储、静态存储和动态存储
根据用于分配内 的方法,C++有3种管理数据内 的方式:自动存储、静态存储和动态存储(有时也叫作自由存储空间或堆)。在 在时间的长短方面,以这3种方式分配的数据对象各不相同。
栈、堆和内存泄漏
如果使用new运算符在自由储空间(或堆)上创建变量后,没有调用delete,将发生什么情况呢?如果没有调用delete,則即使包含指针的
储空间上动态分配的变量或结构也将继续存在。实际上,将会无法访问自由储空间中的结构,因为指向这些内 的指针无效。这将导致内存泄漏。被泄漏的内存将在程序的整个生命周期内都不可使用;这些内存被分配出去,但无法收回。极端情况(不过不常见)是,内存泄漏可能会非常严重,以致于应用程序可用的内存被耗尽,出现内存耗尽错误,导致程序崩溃。另外,这种泄漏还会给一些操作系统或在相同的内存空间中运行的应用程序带来负面影响,导致它们崩溃。
float *f = new float(10.0f); //分配内存,初始值10 float *f2 = new float[10]; //分配内存,十个float数组 float *f3 = new float; //分配内存 delete f; delete [] f2; delete f3;
0 0
- C++ 内存管理(四)--栈静态变量和局部变量、堆delete\new动态
- C语言中,局部变量、全局变量、静态变量、堆、栈的内存地址
- <C++>7.new、delete动态管理堆内存
- 局部变量、全局变量、静态变量、堆、栈
- 静态变量和动态变量 堆和栈
- 全局变量,静态局部变量,局部变量空间的堆分配和栈分配
- 全局变量,静态局部变量,局部变量空间的堆分配和栈分配问题
- 全局变量、局部变量、静态全局变量、静态局部变量、堆变量、栈变量的异同
- C语言编程之道 (有感 静态变量和动态变量, 静态存储方式和动态存储方式 堆+栈)
- 【C++】动态内存管理(new,delete,new[],delete[])
- 内存管理:类变量、成员变量、实例变量、局部变量、静态变量、全局变量 的解释。
- [C++] 静态局部变量
- 动态管理内存之new和delete
- 内存管理看全局变量、静态全局变量、局部变量、静态局部变量
- 关于在MFC中添加C文件 + 关于 new 和 malloc + 静态局部变量指针
- 成员变量、局部变量和静态变量
- 成员变量、局部变量和静态变量
- 动态内存管理---new&delete
- Sublime Text3主题
- javaee:log4j的使用
- 数据结构和算法分析(二) 算法分析
- Java ThreadLocal详解
- mysql修改root密码
- C++ 内存管理(四)--栈静态变量和局部变量、堆delete\new动态
- dl ul ol区别
- BZOJ2557: [Poi2011]Programming Contest
- 【Spring源码--IOC容器的实现】(六)Bean的依赖注入
- 组合命令
- mysql5.1升级5.6步骤以及出现问题解决方法
- SDUT OJ 3402数据结构实验之排序五:归并求逆序数
- ThinkPHP中,display和assign用法
- codeforces 701 C. They Are Everywhere (尺取法)