关于C++中static的使用
何时使用static修饰的局部变量?
当要求变量受到上一次运算后的影响时,使用static修饰局部变量即可。
举个栗子:
#include <iostream>
using namespace std;
int add(int n){
static int i = 0;
i += n;
return i;
}
int main(void)
{
int a = add(10);
cout << a << endl;
int b = add(-10);
cout << b << endl;
return 0;
}

可以看到,add函数中被static修饰的i受到两次运算的影响——先加10,后减10,回到了初始值。

浙公网安备 33010602011771号