c++ -- static 类型变量

先看一段小程序

#includeusing namespace std;

void func1() {

    static int a = 1;

    a++;

    cout << "a = " << a << endl;

}

int main(int argc, char* argv[]) {

    cout << "main start" << endl;

    for (int i = 0; i < 5; i++) {

        func1();

    }

    cout << "main end" << endl;

}



结果是:

main start

a = 2

a = 3

a = 4

a = 5

a = 6

main end

分析:

虽然func1中入口处有static int a = 1; 但static静态变量,生命周期是从变量创建到程序结束。一旦定义了就不会再次初始化了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • //出自51博客:www.Amanda0928.51.com 第一章 一、选择题 1.B; (typedef ,t...
    Damongggggg阅读 11,188评论 0 1
  • 基本概念 1a general-purpose programming language用于创建计算机程序。艺术类...
    伍帆阅读 1,353评论 0 1
  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 7,707评论 0 10
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,764评论 18 399
  • 语言漂流8班第31人LX讲科比“凌晨四点钟的洛杉矶”,1班第33人WY讲“幸福不是忍耐而是包容”,鞋子的学问。 苏...
    绿百合阅读 211评论 0 0