💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
对于某一特定类类型的全体对象我们需要访问一个共同的变量,这个时候我们通常是在类的声明中声明一个静态变量即static变量。当然可以用一个全局变量来代替,但是用全局变量是一个很不好的习惯,重要的一点就是全局变量会破坏类的封装。然而类中static变量不像普通变量,它独立与该类的任意对象而存在,每个static数据成员与一个特定的类相关连,而非与该类的对象相关连。[http://blog.csdn.net/IAccepted](http://blog.csdn.net/IAccepted) ### 一.使用类的static成员的优点: 1.static成员的名字是在类的作用域中,因此可以避免与其他类的成员或全局对象的名字发生冲突。 2.可以实施封装。static成员可以是私有成员,而全局对象不可以。[http://blog.csdn.net/IAccepted](http://blog.csdn.net/IAccepted) 3.通过阅读程序容易看出static成员是与特定类关联的。这种可见性可以清晰地显示程序员的意图。 ### 二.static类成员的生命与定义[http://blog.csdn.net/IAccepted](http://blog.csdn.net/IAccepted) static类成员在声明类的时候同时被声明,static类成员的定义应该放在该类的实现文件中。即类声明在A.h中,而类的实现放在A.cpp中则,static类型变量的定义就放在A.cpp中。 格式为<数据类型> <类名>::<static变量名>=<初始值> ### 三.static修饰const类型的变量 当static修饰const类型的变量时,此变量可以在类的声明中直接初始化,但是该数据成员仍然必须在定义体之外进行定义。