static分为两种用法,一种是和类相关的,一种是和文件相关的。
对于和类相关的,有类的静态成员变量,类的静态成员函数。它们只和类相关,和类的具体实例无关。类的静态成员函数主要是为了处理类的静态成员变量。不管有多少文件引用它,都只和类相关。
对于和文件相关的,
若在一个头文件中声明并定义 static int a = 1;
同时用大于1个.cpp文件去引用,则会分别在这几个cpp文件中形成静态变量,这些静态变量之间点操作互不干扰。若想要全局静态变量,在头文件中声明 extern int a;不要赋值,然后在任意一个包含这个头文件的cpp文件中给它赋值,extern int a =1;这样就会共享这个a值了。
网友评论