求:关于对象(变量)的生命周期问题(很白的问题)
不同定义方式下的对象(变量)的生命周期发生怎样不同 (如全局变量、局部变量、静态变量、动态分配对象、类成员变量等)能举例说明下吗?谢谢~
// Note:Your choice is C++ IDE #include <iostream> using namespace std; int a = 1; //全局变量,全局作用域,程序结束时生命期结束 static int b = 2; //该文件内的全局变量,程序结束时生命期结束 int main() { int c = 3; //局部作用域,在main}后结束生命期,也就是程序结束时,因为main是程序的入门 static int d = 4; //生命期为程序结束时,不过该e的可见性只在main内 for(int i = 0; i < 10; i++) //i作用域应该在for到}这个范围了 { static int e = 5; //生命期为程序结束时,不过该e的可见性只在{}内 int f = 6; //生命期在语句作用域内 } //i生命期结束 char p = new char[3]; //......... delete [] p; //生命期在其delete时结束 //对象一般也在}时结束其生命期,调用析构函数后作为其结束的标志。原理跟基本类型差不多 //关于类对象的生命周期,你可以自己写跟踪语句,很多东西自己尝试就可以出来的 return 0; }