C++语言程序设计 对象的生存期 对象都有诞生和结束的时刻。对象从诞 生到结束的这段时间就是它的生存期。对象 的生存期与对象的存储类型相关。 静态生存期:内存中固定的数据区中存 储。 动态生存期:内存的栈区存储。大 x
C++语言程序设计 11 对象的生存期 对象都有诞生和结束的时刻。对象从诞 生到结束的这段时间就是它的生存期。对象 的生存期与对象的存储类型相关。 静态生存期:内存中固定的数据区中存 储。 动态生存期:内存的栈区存储
C++语言程序设计 静态生存期 对 象·这种生存期与程序的运行期相同。 的。在文件作用域中声明的对象具有这种 生生存期 存 在函数内部声明静态生存期对象,要 期冠以关键字 static。 x 12
C++语言程序设计 12 静态生存期 ⚫ 这种生存期与程序的运行期相同。 ⚫ 在文件作用域中声明的对象具有这种 生存期。 ⚫ 在函数内部声明静态生存期对象,要 冠以关键字static 。 对 象 的 生 存 期
C++语言程序设计 b今 象# ncludesjostream> 的 using namespace std inti=5;∥文件作用域 生存期 nt maino cout<<j="<<i<sendi return 0 i具有静态生存期 x
C++语言程序设计 13 #include<iostream> using namespace std; int i=5; //文件作用域 int main() { cout<<"i="<<i<<endl; return 0; }i具有静态生存期 对象的生存期 例
C++语言程序设计 动态生存期 对象的生存期 ●块作用域中声明的,没有用 static修 是的对象是动态生存期的对象(习惯 称局部生存期对象) ●开始于程序执行到声明点时,结束于 命名该标识符的作用域结束处。 x
C++语言程序设计 14 动态生存期 ⚫ 块作用域中声明的,没有用static修 是的对象是动态生存期的对象(习惯 称局部生存期对象)。 ⚫ 开始于程序执行到声明点时,结束于 命名该标识符的作用域结束处。 对 象 的 生 存 期
C++语言程序设计 例 include<iostream> 对象的生存期 usIng namespace std; void fun(; 运行结果: int maino i funo 6,a=2 fun( a-3 void funo i static int a=1 i是动态生存期 int j=5 a++ a是静态生存期 ++; cou<"i="<<<",a="<<a<<endl;
C++语言程序设计 15 #include<iostream> using namespace std; void fun(); int main() { fun(); fun(); } void fun() { static int a=1; int i=5; a++; i++; radius 的作用域仅在于此,不能用于程序正文其它 地方,因而可有可无 cout<<"i="<<i<<",a="<<a<<endl; } 对 象 的 生 存 期 例 运行结果: i=6, a=2 i=6, a=3 i是动态生存期 a是静态生存期