c++里面的static关键字主要有以下几种作用:
1 静态全局变量
首先看c++中全局变量,新建一个a.cpp:
#include <iostream>
int i = 5 ;
然后新建一个b.cpp:
#include <iostream>
using namespace std;
extern int i;
int main()
{
cout << i << endl;
}
输出结果为:
可以看到,在a.cpp定义的变量,在b.cpp中就可以调用了,现在对a.cpp进行修改:
#include <iostream>
static int i = 5 ;
这时就会报错,因为此时的i是静态全局变量,只能在a.cpp中使用,普通的全局变量可以在多个cpp中使用。
2 静态局部变量
局部变量一般是函数体内部自己定义的变量,与全局变量相区分。重写a.cpp:
#include <iostream>
using namespace std;
void f()
{
int i = 5;
i++;
cout << i << endl;;
}
int main()
{
f();
f();
}
<