C++基础之static(静态)变量
static 表示静态 作用: 1、在函数体内,静态变量的值维持不变(记忆功能) 2、是一个本地的全局函数,即只能被本模块的函数访问(隐藏功能) static变量: static全局变量和普通全局变量的区别:static变量只初始化一次(即不能重复定义),这样可以防止在其他文件单元中被引用 static局部变量和普通局部变量的区别:static变量值初始一次,下次的运算依据是上一次的值(第二次碰到初始化语句直接跳过即可) static函数: static函数只能在一个源文件中有效,在其他源文件无效 类中的static: 1、无论类对象被定义多少个,静态数据成员始终只有一份,用作共享 2、静态数据成员存储在全局数据区,定义时要分配空间,即使类没有被实例化,静态数据成员也可以被使用 3、遵从public、private、protect访问 4、static的成员函数在类外初始化(类中只是声明,cpp中才是初始化),但此时不要加static关键字 5、static数据成员没有this指针(普通的类成员函数都有),因此不能访问类中的非静态成员函数,只能访问成员函数 优点: 1、不存在全局名字冲突 2、信息可以隐藏,可以为private 注:不要在头文件定义静态变量,不要在头文件定义任何变量 来源: https://www.cnblogs.com/huahua12/p/8495224