十九、C++程序设计必知:生存期
来源:互联网 发布:c语言求真值表 编辑:程序博客网 时间:2024/06/04 18:39
和自然办的事物一样,程序中的变量和对象等也有生存期,从产生到消亡。生存期主要有两种,静态和动态。1、静态生存期某个对象的生存时间和程序运行期相同,我们就说它具有静态生存期。很明显文件域的对象具有静态生存期。使用块作用域具有静态生存期的方法,加static关键字修饰。 2、动态生存期除开上面的静态生存期,其余对象具有动态生存期。具有动态生存期的对象产生于声明处,于对象作用域处结束。
<pre name="code" class="cpp">#include<iostream>using namespace std;int a=1; //全局变量,静态生存期void fun();int main(){static int x; //静态生存期,局部可见性,默认初始化为0int y=10;cout<<"main:"<<endl;cout<<"a:"<<a<<" "<<"x:"<<x<<" "<<"y:"<<y<<endl;a=a+1;fun(); x=x+1;cout<<"main:"<<endl;cout<<"a:"<<a<<" "<<"x:"<<x<<" "<<"y:"<<y<<endl;fun();return 0;}void fun(){static int x=2; //静态生存期,局部可见性,与主函数中的x无关//x只在第一次进入函数时初始化,之后就延用最后调用的值int y=3; //动态生存期 每次都初始化y=y+3;a=a+2;x=x+10;cout<<"fun:"<<endl;cout<<"a:"<<a<<" "<<"x:"<<x<<" "<<"y:"<<y<<endl;}main:a:1 x:0 y:10 //a一直在变化,经main和fun累加fun:a:4 x:12 y:6main:a:4 x:1 y:10 //主函数x随主函数运算变化fun:a:6 x:22 y:6 //fun函数x二次累加基于fun第一次的12 具有静态生存期和局部可见性 y值重新赋值计算
0 0
- 十九、C++程序设计必知:生存期
- C++编程入门系列之十九(C++程序设计必知:生存期)
- C++程序设计必知:生存期
- C++程序设计必知:生存期
- C++程序设计:生存期
- C++:生存期
- c/c++ 变量生存期
- C/C++中变量的生存期
- 生存期
- 生存期
- c 语言变量的全程生存期和动态生存期的体现
- C中变量的内存存储和生存期
- c中变量的存储区和生存期
- c中变量的存储区和生存期
- C语言的变量的作用域和生存期
- C语言变量作用域、生存期及static问题
- C语言的变量的作用域和生存期
- 为 lua 封装 C 对象的生存期管理问题
- Oracle 11g 透明网关
- Fliptile POJ3279 二进制压缩枚举 解题报告
- poj 3225 Help with Intervals(线段树进阶,处理区间,拆点)
- 存一些数学用的模板
- 多应用中EditText中可以插入图片,并且图片可以响应点击事件来进行相关操作。
- 十九、C++程序设计必知:生存期
- 串,包括KMP算法(C/C++)
- 动画-IOS开发
- shell脚本使用
- 80端口被占用了怎么办?
- Deep Learning 学习资料
- 喜羊羊系列之【 线程 】互斥锁+信号量
- [Android]打造一个Android通用的JSON数据解析框架
- Web API 设计摘要