一、不在类中的static的使用
1.作用
1.局部变量被申明为static,表示这个函数结束的时候这个的值不变。
2.外部变量被申明为static表明它是一个本地全局变量。改变量只能在该文件内被访问,不能被其它文件访问。
2.Static与非static的区别
static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
二、类中的static的使用
1.static成员函数
(1)关键字static只在类的定义体内部出现(与const不同,与friend相同)
(2)没有this指针
(3)不能被声明为const或virtual
2.static成员变量
3.static成员常量
4.不管是2还是3,声明、定义不可少
少了声明,会出现链接错误
少了定义,会没有分配空间
少了初始化,默认初始化为0
5.非static数据成员不能用作默认实参
例3:
6.静态数据成员在没有对象之前就存在