C+语言程序设计 清华大学郑莉 例 5.1 作 #include <iostream 用 using namespace std int i; 在全局命名空间中的全局变量 namespace Ns 域 int J; //在Ns命名空间中的全局变量 与 int main(){ =5; //为全局变量赋值 可 Ns::j=6; /为金局变量赋值 见 using namespace Ns; 当前块中可以直接引用Ns中的标识符 1nt1 局部变量,局部作用域 性 i=7: cout<"i=”<i<endl;/输出7 cout <<"j= <<j<<end1;//输出6 cout<"i=”<i<end1;/输出5 return 0:
C++语言程序设计 清华大学 郑莉 11 #include <iostream> using namespace std; int i; //在全局命名空间中的全局变量 namespace Ns { int j; //在Ns命名空间中的全局变量 } int main() { i = 5; //为全局变量i赋值 Ns::j = 6; //为全局变量j赋值 { //子块1 using namespace Ns; //当前块中可以直接引用Ns中的标识符 int i; //局部变量,局部作用域 i = 7; cout << "i = " << i << endl;//输出7 cout << "j = " << j << endl;//输出6 } cout << "i = " << i << endl; //输出5 return 0; } 作 用 域 与 可 见 性 例 5.1
C++语言程序设计 清华大学郑莉 对象的生存期 对象从产生到结束的这段时间就是 它的生存期。在对象生存期内,对象将 保持它的值,直到被更新为止。 12
C++语言程序设计 清华大学 郑莉 12 对象的生存期 对象从产生到结束的这段时间就是 它的生存期。在对象生存期内,对象将 保持它的值,直到被更新为止
C++语言程序设计 清华大学郑莉 静态生存期 对 象 。这种生存期与程序的运行期相同。 的 。在文件作用域中声明的对象具有这种 生 生存期。 存 ·在函数内部声明静态生存期对象,要 期 冠以关键字static。 13
C++语言程序设计 清华大学 郑莉 13 静态生存期 ⚫ 这种生存期与程序的运行期相同。 ⚫ 在文件作用域中声明的对象具有这种 生存期。 ⚫ 在函数内部声明静态生存期对象,要 冠以关键字static 。 对 象 的 生 存 期
C++语言程序设计 清华大学郑莉 例 对 象 #include<iostream> 的 using namespace std; 生 int i 5; /文件作用域 存 int main(){ 期 cout<"i=”<i<endl; return 0; 具有静态生存期
C++语言程序设计 清华大学 郑莉 14 #include<iostream> using namespace std; int i = 5; //文件作用域 int main() { cout << "i=" << i << endl; return 0; } i具有静态生存期 对 象 的 生 存 期 例
C++语言程序设计 清华大学郑莉 动态生存期 对 象 ●块作用域中声明的,没有用static修 的 生 是的对象是动态生存期的对象(习惯 存 称局部生存期对象)。 期 ·开始于程序执行到声明点时,结束于 命名该标识符的作用域结束处。 15
C++语言程序设计 清华大学 郑莉 15 动态生存期 ⚫ 块作用域中声明的,没有用static修 是的对象是动态生存期的对象(习惯 称局部生存期对象)。 ⚫ 开始于程序执行到声明点时,结束于 命名该标识符的作用域结束处。 对 象 的 生 存 期