首页 > 代码库 > static 的作用

static 的作用

非类中

1) 隐藏 

  修饰对象: 全局变量 和 函数

  编译多个源文件添加static 使其作用域 限定在 当前源文件

  带来一个好处: 不必担心命名冲突

2)默认初始化为0

  对象: 未初始化全局变量(BSS 段 默认初始化本来就是 0) 和 局部变量

3) 改变静态局部变量的生存周期

  生命周期为整个源程序

  静态局部变量储存位置为 (全局区)DATA or BSS

  只初始化一次

类中

c++ 重用了static 关键字

1) 静态数据成员

  独立于该类的对象, 属于整个类(换言之 每个类都有之)

2)静态成员函数

  与普通成员函数相比, 静态成员函数不与任何对象关联

  不具有this 指针

  无法访问属于对象的非静态数据成员,也无法访问非静态成员函数。

 

内存分区

1)堆

2)栈

3)全局储存区(DATA , BSS)

4)文字常量区 

5)程序代码区

 

static 的作用