static关键字引入历史及作用
static在C中第一次引入
起初,C引入static关键字是为了表示退出一个块后依然存在的局部变量。修饰局部变量,改变了其存储周期。在这种情况下,static的意义:变量一直存在
static在C中第二次重用
static在C中的第二种含义,修饰全局变量和函数时,表示不能被其它文件访问,改变了其作用域。为了避免引入一个新的关键字,static被重用了
static在C++中的第三次重用
最后,C++第三次重用了这个关键字,这里解释为:属于类且不属于类对象的变量和函数,这个含义和Java一样。指C++中被static修饰过的函数和变量,即静态函数和静态成员变量属于与类且不属于类对象