ITPub博客

首页 > > > C++中static关键字修饰变量问题

C++中static关键字修饰变量问题

作者:flynike 时间:2019-08-13 14:31:59 0 删除 编辑
代码如下:

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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-26

  • 博文量
    205
  • 访问量
    9819