类的静态成员变量类型为该类?这种怎么理解,以前做C的不知道怎么理解

class base{ 
public : 
static base _object1;//正确,静态数据成员 
base _object2;//错误 
base *pObject;//正确,指针 
base &mObject;//正确,引用 
}; 

如上,以前做C的,现在要用C++。无法理解这种结构

静态成员变量是属于该类的,不是属于具体某个实例化的该类对象,所以可以在类里定义。用自身类作为成员变量会引起无限套娃,所以不能这么用。引用和指针都是指向一个外部类,可以用。