声明:本文内容部分摘抄自C++ primer plus(第6版 中文版) 部分为作者自行整理
C++11 使用4种不同的方案来存储数据,分别是:自动存储持续性,静态存储持续性,线程存储持续性和动态存储持续性。本文主要介绍自动存储持续性。
自动存储持续性的定义
在函数内部声明的变量(包括函数参数)的存储持续性是自动的。程序执行到函数的代码时,其变量开始被创建,在执行完函数的代码时,其变量被释放。
下面来看一个例子:
上面这段代码中,首先执行main函数,开始创建x,y两个变量,往下执行,在调用auto_store()函数时,开始创建a,b,c三个变量。在执行完该函数之后,a,b,c变量的内存空间被释放(细节是栈顶指针下降,栈变成执行auto_store()函数之前的状态),然后回到main()函数,接着执行完main()函数之后,x,y变量的内存空间被释放。
以上就是自动变量的部分笔记,欢迎各位朋友留言吐槽~
|
|