C/C++中 static关键字总结

1 在c语言中

1. static 修饰局部变量----改变生命周期
我们知道局部变量,在使用完之后会自动销毁, 它的生命周期从定义时开始,到程序执行完就结束,而经过static修饰以后,局部变量变为静态局部变量,它的生命周期延长,生命周期随整个程序,等整个程序执行完之后,才会动销毁。

2. static修饰全局变量----改变作用域
我们知道全局变量的作用域是面向整个工程,加上extern修饰之后,整个工程都可访问,而全局变量经过static修饰之后,其作用域被限定.只能被它所在的程序访问,不能被同一工程中的其他程序访问.

3. static修饰函数
经过static修饰过的函数,变为静态函数,类似于静态全局变量,有以下两个变化

1 该函数只能在其所在程序(文件)中被调用,不能被其他文件程序调用
2 不同的文件可以使用同名的静态函数,互不影响.

2 在c++中

1. 修饰类的成员变量
类的成员变量经过static修饰之后,变为静态成员变量,有以下特性
1 静态成员为所有类对象所共享,不属于某个具体的实例
2 静态成员必须在类外定义,定义时可不添加static关键字

2. 修饰类的成员函数
类的成员变量经过static修饰之后,成为静态成员函数,有以下特性
1 静态成员函数没有隐藏的this指针,不能访问任何非静态成员
2 非静态成员函数可以任意地访问静态成员函数和静态数据成员

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页