c++ static

本文详细介绍了 C++ 中 `static` 关键字的三种作用:局部变量、全局变量和函数的静态修饰,以及在类中作为静态数据成员和静态成员函数的应用。通过对比分析了静态变量和普通变量在存储区、生存期和作用域的差异,并提供了相关知识点的补充链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式可见性(作用域)生存期


🐖关注存储区、作用域、生存期!!


static的三种作用:
  • 为了表示退出一个块后仍然存在的局部变量
  • 用来表示不能被其它文件访问的全局变量和函数
  • 表示属于整个类而不是属于此类的任何特定对象的变量和函数



🙋‍

几种结合方式:
  • 不在类中👉static+ 变量(全局变量&局部变量)/普通函数
  • 在类中👉static+ 类内数据成员/类内函数成员

具体来说:

  • static修饰全局变量👉静态全局变量:限制全局变量只能被模块内访问,不可以在别的模块中用extern声明调用。
  • static修饰函数中的变量(栈变量)👉静态局部变量:改变变量的生存期,作用域不变仍为所在函数。只被初始化一次。
  • static修饰函数👉静态函数:作用与修饰全局变量类似,也是限制该函数只能在模块内访问,不能再别的模块中用extern声明调用
  • static修饰类中的数据成员👉(类中的)静态数据成员:属于整个类所有,类的所有对象共同维护。
  • static修饰类中的函数成员👉(类中的)静态函数成员:也属于整个类,一般用于调用静态数据成员,不能直接访问非static成员(要指定类才行)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值