静态数据成员与普通数据成员的区别

来源:百度知道 编辑:UC知道 时间:2024/05/05 15:40:45
C++中静态数据成员与普通数据成员的区别,答案要详细一些。

静态数据成员是拥有全局寿命的成员,即在文件的开始到结束期间,内存始终都为其分配存储单元,它可以是局部变量,也可以使全局变量。
非静态数据成员,其寿命局限于其块作用域,从“{”后定义开始到遇到“}”代表其结束,内存自动释放空间。
如:
#include<iostream>
using namespace std;
int static b=0;
void main()
{
int static a=1;
{ int a=2;
int static b=3;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
}
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
}
记住若不同作用域中,生命相同的变量名,遵从局部变量优先的原则(在内层,外层同名标识符不可见)