阅读445 返回首页    go 阿里云 go 技术社区[云栖]


静态局部变量

以前经常使用和了解static作用在全局变量前,以至于甚至把static当做全局变量的代名词,但是其实static还可以作用于局部变量前

静态局部变量的意义:

1.分配空间在全局数据栈上

2.作用域只局限于当前的函数范围内(局部)

3.生命周期为整个程序,不会随着当前的函数结束而结束

4.首次初始化时赋值生效,以后的初始化赋值自动跳过

void fn()

{
    static n=10;
    cout<<n<<endl;
    n++;
}

这里的n是一个静态局部变量,只有第一执行fn函数时会调用static n=10,以后都不会调用

 

有例子使用这种一次声明赋值的特性来实现单件

最后更新:2017-04-03 20:19:52

  上一篇:go iOS开发那些事-构建自适应iPhone和iPad工程
  下一篇:go HttpClient 流式读取时中文乱码的解决方法