<1>对象的生存周期
静态生存周期:全局变量具有静态生存周,局部变量的静态数据的特点:函数内的静态变量,不会随着函数调用的结束而消亡。
动态生存周期:除了上述两种情况以外其它都具有动态生存周期,局部生存对象诞生于声明点,结束语所在块执行完毕之后。
<2>类的静态成员
第一,静态数据成员:一个类的所有对象公有的属性
静态成员在每个类中只有一个副本,由该类的所有对象共同维护和使用,从而实现了同一类的不同对象之间的数据共享,类属性是描述类的所有对象共同特征的一个数据项,对任何对象实例,它的属性值是相同的。
使用static声明静态成员,静态成员在每个类中,只有一个副本,静态数据成员具有静态生存期,静态成员不属于任何一个对象,
类名::标识符
第二,静态函数成员:使用static声明成员函数
静态成员函数可以直接访问该类的静态数据和函数成员,然而访问非静态成员必须通过对象名。
class Fun
{
public:
static void function(Fun fun);
private:
int x;
};
void Fun::function(Fun fun)
{
cout<<x<<endl;//错误
cout<<fun.x<<endl;//正确
}
一点:静态函数只用来维护静态数据成员即可。