C++ static的用法有哪些?

本文详细介绍了C++中static关键字的五种主要用法:修饰局部变量以实现整个程序周期内的持久存储;改变全局变量的链接性,限制其在当前文件内访问;修饰函数使其仅在当前文件中可见;修饰成员变量使之独立于类对象,存在于静态存储区;以及修饰成员函数,允许不通过实例直接调用。

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

static的用法有哪些?

(1)修饰局部变量。局部变量的生存期为声明之后,直至当前代码块结束。若使用static声明,该变量将变为静态持续性,存放在静态存储区,存在于整个程序运行周期。同时保证每个进入该代码块,变量保持上一次退出时的值。

(2)修饰全局变量。会改变全局变量的链接性,使用static修饰后,全局变量由外部链接性变为内存链接性,这样其他源文件不能使用extern变量使用该变量,该变量只能在当前文件内共享访问。

(3)修饰函数。函数默认具有外部链接性,同普通全局变量一样。使用static修饰后,其他源文件不能使用extern来使用该函数。该函数为内部链接性,当前文件可访问。

(4)修饰成员变量。修饰成员变量后,该变量将不在类对象的内存布局当中,存在于静态存储区。该变量存在于类对象声明之前,即使没有任何一个类对象声明,该变量依然存在。所有的类对象共享一份实例。

(5)修饰成员函数。静态成员函数不能访问普通成员变量,只能访问静态成员变量。同时不需要通过类实例进行调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值