关于static的作用

在 C++ 中,static 是一个多功能的关键字,其行为会根据作用域(全局 / 局部 / 类) 和修饰对象(变量 / 函数 / 类成员) 发生变化,但核心本质是改变存储生命周期、作用域或链接属性。
1.作用:
(1)改变存储位置(栈 → 静态存储区)
(2)限制链接属性(外部链接 → 内部链接)
(3)控制类成员的归属(对象归属 → 类归属)
2.static修饰全局作用域的变量/函数
全局作用域的变量 / 函数默认具有 外部链接属性(可被其他编译单元通过 extern 访问),static 会将其改为 内部链接属性,仅当前编译单元可见。
3.static修饰局部变量(函数内)
局部变量默认存储在栈上(生命周期 = 函数调用期),static 会将其移到 静态存储区,生命周期变为程序运行期,且仅初始化一次。
4.static修饰类成员(静态成员变量/函数)
static 修饰类成员时,该成员不再属于对象,而是属于整个类(所有对象共享),无需创建对象即可访问。
全部评论

相关推荐

脑袋锈住了:你这算啥,哥们中科院中强所硕士,本科211,叫我去干分拣,时薪20
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务