c++存储
c++存储
- 1 自动存储
- 在函数内部定义的变量使用自动存储空间。被称为自动变量。
- 在函数调用时自动产生,在函数结束时消亡。
- 自动变量是一个局部变量,作用域在包含它的代码块。(在一个函数中也可以有代码块)
- 自动变量存储在栈中。在执行代码时,变量将依次加入栈中。在离开代码块时,将按相反的顺序释放这些变量。
- 2 静态存储
- 整个程序执行期间都存在的存储方式。
- 使变量称为静态的方式有两种。
- 1 在函数外面定义
- 2 在声明变量时使用static关键字
- 3 动态存储
- new和delete管理着一个内存池。
- c++中将这个内存池称为自由存储空间或堆。
- 该内存池和自动存储和静态存储是分开的。
- new和delete相互影响导致占用堆空间不一定连续。
- 如果使用new在堆上创建变量后,没有调用delete,即使包含指针内存被释放,该数据内存也依然存在。并且将访问不到该内存区域。这将导致内存泄漏。
- 要避免内存泄漏,最好同时使用new和delete运算符。c++智能指针有助于自动完成这种任务。16章介绍。
相关推荐
nicepainkiller 2020-07-24
chensen 2020-11-14
lwnylslwnyls 2020-11-06
ATenhong 2020-10-15
yanzhelee 2020-10-13
佛系程序员J 2020-10-10
guojin0 2020-10-08
佛系程序员J 2020-10-08
bluewelkin 2020-09-16
wwzaqw 2020-09-04
zhongdaowendao 2020-09-02
favouriter 2020-08-18
奎因amp华洛 2020-08-15
一青年 2020-08-13
千锋 2020-08-10
nangongyanya 2020-08-09
dongxurr 2020-08-08
明天你好 2020-08-03
kyelu 2020-08-03