static 作⽤:控制变量的存储⽅式和可⻅性。
作⽤⼀:修饰局部变量
:⼀般情况下,对于局部变量在程序中是存放在栈区的,并且局部的⽣命周期在包含语句块 执⾏结束时便结束了。但是如果⽤ static
关键字修饰的话,
该变量便会存放在静态数据区,其⽣命周期会⼀直延续 到整个程序执⾏结束。
但是要注意的是,虽然⽤ static
对局部变量进⾏修饰之后,其⽣命周期以及存储空间发⽣了 变化,但其
作⽤域并没有改变,
作⽤域还是限制在其语句块。
作⽤⼆:修饰全部变量
:对于⼀个全局变量,它既可以在本⽂件中被访问到,也可以在同⼀个⼯程中其它源⽂件被 访问(
添加
extern
进⾏声明即可
)
。⽤
static
对全局变量进⾏修饰改变了其作⽤域范围,由原来的整个⼯程可⻅变成 了
本⽂件可⻅
。
作⽤三:修饰函数
:⽤
static
修饰函数,情况和修饰全局变量类似,也是改变了
函数的作⽤域
。
作⽤四:修饰类
:如果
C++
中对类中的某个函数⽤
static
修饰,则表示该函数属于⼀个类⽽不是属于此类的任何 特定对象;如果对类中的某个变量进⾏ static
修饰,则表示该变量以及所有的对象所有,存储空间中只存在⼀个副 本,可以通过;类和对象去调⽤。
(补充
:静态⾮常量数据成员,其只能在类外定义和初始化,在类内仅是声明⽽已。) </