C++对象的生存周期和类的静态成员

<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;//正确 
}

一点:静态函数只用来维护静态数据成员即可。

    原文作者:pfeiKing
    原文地址: https://blog.csdn.net/Triple_WDF/article/details/78973625
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞