static关键字的作用

//C/C++程序员面试指南    杨国祥等编著

  1. 定义全局静态变量。全局静态变量有以下特点:
    • 在全局数据区分配内存;
    • 如果没有初始化,其默认值为0;
    • 该变量在本文件内从定义开始到文件结束可见。
  2. 定义局部静态变量。局部静态变量有以下特点:
    • 在全局数据区分配内存;
    • 如果没有初始化,其默认值为0;
    • 它始终驻留在全局数据区,直到程序运行结束;
    • 其作用域为局部作用域,当定义它的函数或语句块结束时其作用域随之结束。
  3. 定义静态函数。静态函数有以下特点:
    • 静态函数只能在本文件中使用;
  4. 定义静态数据成员。静态数据成员有以下特点:
    • 在全局数据区分配内存;
    • 静态数据成员定义时要分配空间,所以不能在类声明中定义。
  5. 定义静态成员函数。 特点:
    • 静态成员函数与类相联系,不与类的对象相联系。静态成员函数不能访问非静态数据成员。因为非静态数据成员属于特定的类实例。
原文地址:https://www.cnblogs.com/Toya/p/9799990.html