- static成员或者static函数在类图中通常是使用下划线表示的。
![20200724095555](https://zhaorui-open-1302411521.cos.ap-shanghai.myqcloud.com/20200724095555.png)
-
每一个static成员必须在类定义之外初始化。
-
在代码块中定义的static变量只会在第一个执行时初始化。
int nextNumber(){ int a(24); static int b = 100; qDebug() << a+b; return b++; } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); for(int i = 0 ; i < 10 ; i++){ nextNumber(); } return a.exec(); }
输出结果:
-
静态对象只会建立一次,并且保持到程序结束,大部分情况是在程序启动之后,main函数执行之前建立的。