static作用整理
来源:互联网 发布:淘宝老a工具箱 编辑:程序博客网 时间:2024/06/10 02:15
一、static的作用
1、函数体内,一个被声明为static的变量在函数被调用过程中维持其值不变。
2、在模块内(但在函数体外),一个被声明为static的变量可被模块内的所有函数访问,但不能被模块外的函数访问。他是一个本地全局变量。
3、在模块内,一个被声明成static的函数只可被本模块的函数调用。
二、static变量及函数与普通变量及函数的区别
1、static全局变量与普通全局变量的区别是,static全局变量只初始化一次,防止在其他文件中被引用。
2、static局部变量和普通局部变量的区别是,static局部变量只被初始化一次,下一次依据上一次的结果。
3、static函数与普通函数的区别是,static函数在内存中只有一份,普通函数在每一个被调用中维持一份复制品。
三、注意
类中的静态成员和方法不属于类的实例,是属于类本身,并在所有类的实例间共享。在调用它们时应该用类名加上“::”来引用。
1、类中的static变量需要在内外进行初始化。
2、类中的static函数不能通过this指针进行访问,所以导致静态成员函数不能调用类的非静态成员。
3、局部静态对象的生命期是从其所在函数第一次被调用,更确切地说,是当第一次执行到该静态对象的声明代码时,产生该静态局部对象,直到整个程序结束时,才销毁该对象。
4、还有一种静态对象,那就是它作为class的静态成员。考虑这种情况时,就牵涉了一些较复杂的问题。
第一个问题是class的静态成员对象的生命期,class的静态成员对象随着第一个class object的产生而产生,在整个程序结束时消亡。也就是有这样的情况存在,在程序中我们定义了一个class,该类中有一个静态对象作为成员,但是在程序执行过程中,如果我们没有创建任何一个该class object,那么也就不会产生该class所包含的那个静态对象。还有,如果创建了多个class object,那么所有这些object都共享那个静态对象成员。对于类的静态成员,基类及其派生类的所有对象都共享这个静态成员对象,所以当需要在这些class之间或这些class objects之间进行数据共享或通信时,这样的静态成员无疑是很好的选择。
- static作用整理
- static 作用
- static作用
- static作用
- static作用
- static 作用
- static 作用
- static作用
- static 作用
- static作用
- static 作用
- static作用
- static 作用
- static 作用
- :static作用:
- static作用
- static作用
- static 作用
- Canvas绘图API快速入门
- DOM(一)-02-(DOM解析的特点)
- Java单例模式结合JUC原子类爆发的新想法
- [leetcode] Single Number III
- perl 一些注意事项
- static作用整理
- DOM(一)-03-(DOM三级模型)
- boxfilter 函数
- android 源代码
- DOM(一)-04-(DHTML概述)
- VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)
- 开发支付宝支付用DELPHI实现 RSA签名
- linux线程回收
- c语言实现约瑟夫环-每隔几个删除一个,求剩下的