一、C与C++中公有的部分:
1、静态变量(静态局部变量和静态全局变量)
(1)静态变量如果未进行初始化,则编译器将会进行初始化为0
(2)静态全局变量只在本文件中有效,外部文件是无效的。(全局变量在整个工程文件中有效)
(3)静态局部变量只在定义它的函数中有效,并且程序只分配一次内存,函数结束调用,静态局部变量并没有销毁,下次调用仍会记住上次的值,生存周期为整个程序的运行周期。(内存中:保存在数据段)
2、静态函数
一个源文件由多个文件组成的情况下,使用静态函数,表示只能在本文件中有效,不能被同一程序中的其他文件函数进行调用,使用static void fun () 的形式,可以解决重名问题
二、C++中static特殊的部分(静态成员变量、静态成员函数)
1、静态成员变量
(1)类外进行初始化,并且也是只能初始化一次
初始化:数据类型 类名 ::静态数据成员 =初始值;
注意:静态数据成员可以被初始化,但是只能在类外进行初始化,若未对静态数据成员赋初值,则编译器会自动为其初始化为0。
(2)访问方式:
类名::静态数据成员名
对象指针->静态数据成员名;
2、静态成员函数
静态函数主要用于访问静态成员变量,一般不访问类中的非静态成员