自动存储,静态存储和动态存储

根据用于分配内存的方法,C++有三种管理数据内存的方法 :自动存储,静态存储,动态存储。  C++11新增线程存储

 

 

1.自动存储

函数内部定义的常规变量使用自动存储空间,被称为自动变量。这意味着他们在所属函数被调用时自动产生,在该函数结束时消亡。

自动变量是一个局部变量,作用域为包含它的代码块,代码块是被包含在花括号中的一段代码。

自动变量通常存储在栈中。执行代码块时,其中的变量将依次加入到栈中,栈会不断增大和缩小。

 

2.静态存储

静态存储是整个程序执行期间都存储在的存储方式。

有两种办法使变量成为静态:一种是在函数外定义它;另一种是在声明变量时使用static。

 

 

3.动态存储

new和delete运算符提供动态存储功能。动态存储内存在堆中。

 

posted @ 2020-03-17 11:21  坦坦荡荡  阅读(637)  评论(0编辑  收藏  举报