求:关于对象(变量)的生命周期问题(很白的问题)
不同定义方式下的对象(变量)的生命周期发生怎样不同 (如全局变量、局部变量、静态变量、动态分配对象、类成员变量等)能举例说明下吗?谢谢~
程序代码:// 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;
}