Static关键字

用法

C/C++中static关键字共有五种用法:

一. 类静态成员变量

  • 为所有类的实例共有。
  • 存储于全局数据区,定义时分配存储空间。
  • 只能在类中声明,在类外进行定义和初始化,默认初始化为0。

二. 类静态成员函数

  • 静态成员函数只能访问静态成员变量和静态成员函数。
  • 没有this指针,通过<类名>::<函数名>访问,也可通过.->访问。

三. 静态全局变量

  • 在全局数据区分配。
  • 只在本文件内可见,为internal属性。

四. 静态局部变量

  • 在全局数据区分配。
  • 执行声明时初始化,如果没有显式初始化则初始化为0,再次调用时不初始化。

五. 静态函数

只在本文件内可见。

C/C++内存分类

全局数据区/静态数据区:存储全局变量和静态变量,程序结束后释放。

栈:存储局部变量,参数、返回值。

堆:动态分配的内存。

文字常量区:存储常量字符串,程序结束后释放。

代码区:存储二进制代码。

参考

results matching ""

    No results matching ""