static
C
static主要是改变存储方式和作用域。
1. 修饰局部变量:改变其存储方式为静态存储,离开了作用域变量仍不释放,使其具有记忆能力。
2. 修饰全局变量:改变其作用域为本文件,即使用extern在其他文件声明也出错!
3. 修饰函数:与修饰全局变量一样,不同文件之间static函数可以有重名。
总结:局部变量本身是auto存储方式,所以改变的是静态存储方式。全局变量和函数本身就是全局的,所以改变其作用在同一个文件中。
C++
static修饰成员变量和函数,使其不属于任何一个类实例,而是类的所有实例所共有的。
修饰成员变量:不能再类声明中定义,而应该在类外定义。
必须初始化,最好在类声明中初始化。
访问方式可以是类类型也可以是类对象。
修饰成员函数:只能使用静态成员变量。
总结:静态成员可以在多个对象实例间进行通信,传递信息。
const
C
C++