首页 > > > C++中static关键字修饰变量问题
代码如下:
int j()
{
static int a = 10;
a++;
cout<<a<<endl;
return a;
}
int& j1()
{
static int a = 10;
a--;
cout<<a<<endl;
return a;
}
int* j2()
{
static int a = 10;
a--;
cout<<a<<endl;
return &a;
}
int main()
{
//j()=100;
j();
j1() = 100;
j1();
*(j2())=200;
j2();
}
当第3,第11,第19行的变量a,不使用static变量修饰时,第29,第31中的赋值不会改变a的值。使用static修饰后就可以了,请问这是为什么?谢谢来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2618/viewspace-3156942/ ,如需转载,请注明出处,否则将追究法律责任。