static在c中一般有两层含义。一是持久存储(静态存储),二是访问受限(static函数只能在此.c文件访问)
c++在继承了c上的这两个特性外,还更复杂一些,因为c++中有成员变量和成员函数。
static成员变量被所有的对象所共享,不是某个单独类对象的组成部分,所以静态成员变量只能在定义的地方初始化(通常在类的定义之外 .cpp中),初始化列表也不行。不过c++11中好像有例外(constexpr)
static成员函数只能访问static成员
static在c中一般有两层含义。一是持久存储(静态存储),二是访问受限(static函数只能在此.c文件访问)
c++在继承了c上的这两个特性外,还更复杂一些,因为c++中有成员变量和成员函数。
static成员变量被所有的对象所共享,不是某个单独类对象的组成部分,所以静态成员变量只能在定义的地方初始化(通常在类的定义之外 .cpp中),初始化列表也不行。不过c++11中好像有例外(constexpr)
static成员函数只能访问static成员