
静态有两个主要功能:
第一个作用是限制范围;第二个作用是使变量的内容持久化;
C语言中static的用法:
1. 全局静态变量:
用法: 在全局变量之前添加关键字static,然后将全局变量定义为全局静态变量. 静态int temp;
内存中的位置: 静态存储区,存在于整个程序中.

初始化: 未初始化的全局静态变量将被自动初始化为0(自动对象的值是任意的,除非它被显式初始化);
作用域: 全局静态变量在声明它的文件外部不可见,确切地说,它是从定义开始到文件末尾的.
2. 局部静态变量:
在局部变量之前添加关键字staticstatic的作用,该局部变量将成为局部静态变量.
内存中的位置: 静态存储区
初始化: 未初始化的全局静态变量将被自动初始化为0(自动对象的值是任意的,除非它被显式初始化);

范围: 范围仍然是本地范围. 当定义它的函数或语句块结束时,作用域结束. 但是当局部静态变量离开作用域时,它并没有被销毁,而是仍然驻留在内存中static的作用,但是直到再次调用该函数并且值保持不变之前,我们无法再访问它;
3. 静态功能:
在函数返回类型之前添加关键字static,并且该函数被定义为静态函数. 该函数的定义和寿命在默认情况下是extern,但是静态函数仅在声明它的文件中可见,并且不能被其他文件使用;
c ++中static的用法:
1. 类的静态成员:
A级{

私人:
static int val;
};
在cpp中,必须将他初始化. 在初始化期间,作用域运算符用于指示他所属的类. 属于此类的所有成员都是普通成员,只有一个副本;
2. 该类的静态成员函数:
A级{

私人:
static int func(int x);
};
该实现不需要静态修饰,因为static是声明性关键字. 该类的静态函数是该类类别中的全局函数,您不能访问该类的私有成员,只能访问该类的静态成员,而无需该类的实例即可调用它;实际上,这是一个全局函数,可以增加类的访问权限;
无效A :: func(int);
静态成员函数可以继承和覆盖,但不能是虚拟函数;
3. 仅在cpp中有效的全局变量:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-279925-1.html
其实日本海军还是挺厉害的
喜欢