static静态成员
- Static意为静态成员,若Static修饰的成员位于C++类中,那么Static就实现了同一个类,多个对象共享数据,协调行为的目的。
- 静态变量具有全局变量的优势,又不会像全变量一样被滥用。C++中用于管理静态变量,就需要用到静态函数。
- C++中类的静态成员,属于类,也属于对象,但终归属于类。(比较绕,直接记做属于类)
特点
- 共享 : static 成员变量实现了同族类对象间信息共享;
- 初始化:static 成员使用时必须初始化,且只能类外初始化。声明与实现分离时;只能初始化在实现部分(cpp 部分);
- 类大小: static 成员类外存储,求类大小,并不包含在内;
- 存储 : static 成员是命名空间属于类的全局变量,存储在 data 区 rw 段;
- 访问 :可以通过类名访问(无对象生成时亦可),也可以通过对象访问。
//示例
#include <iostream>
using namespace std;
class A
{
public:
static int sh