static的用法

(1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,在编译期就会初始化,也就是说这个静态变量值要么为nil,要么在编译期就可以确定其值,生命周期和程序相同,其内存只被分配一次并存储到全局变量区,因此其值在下次调用时仍维持上次的值;

(2)在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;

(3)在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;

(4)在类中的 static 成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;

(5)在类中的 static 成员函数属于整个类所拥有,这个函数不接收 this 指针,因而只能访问类的static 成员变量。


1.延长局部变量的生命周期,程序结束才会销毁。

2.局部变量只会生成一份内存,只会初始化一次。

3.改变局部变量的作用域。

修饰全局变量

1.只能在本文件中访问,修改全局变量的作用域,生命周期不会改

2.避免重复定义全局变量

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量...
    青春的天空007阅读 1,024评论 0 0
  • C语言: 1、静态全局变量:1、在全局变量前加上 static 关键字,即为静态全局变量2、静态全局变量在程序的数...
    sdgl阅读 7,589评论 0 5
  • 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽...
    Dl_毛良伟阅读 474评论 0 1
  • 在Java中,static可以修饰成员变量、成员方法、代码块和内部类。 1. static修饰成员变量 stati...
    ZMRWEGo阅读 3,050评论 0 0
  • 简悦直播教练恬源阅读 191评论 0 1

友情链接更多精彩内容