殷罗绮 发表于 2025-6-4 19:58:26

【C++】static 知识整理 【静态与局部静态】

目录

[*]类外
[*]类内
[*]局部静态 local static

[*]类外
[*]类内


类外

C++的静态可以分为两种情况来讨论:在类外和在类内。
对于静态变量/函数,链接将只在内部 (如果不用static,那么在不同文件定义同名变量会报错)
声明定义在其他地方的变量需要使用extern,函数则不需要
类内

静态变量/方法将与类的所有实例共享内存 (若实例改变静态变量,那么会反应到这个类的所有实例)
静态方法无法访问类的实例和非静态变量(类中的每个非静态方法总是获得当前类的一个实例作为参数,而静态方法不会得到那个隐藏参数,其与在类外部编写方法相同)
类内的静态变量需要在类外声明:int Class::var;
以上有关静态的使用比较简单和常见,因此仅简单介绍,接下来我们看一个特殊一些的情况:局部静态
局部静态 local static

局部静态变量的生存期基本上相当于整个程序的生存期,而作用范围被限制。
(补充:变量的生存期:变量实际存在的时间(被删除之前);变量的作用域:可以访问变量的范围)
类外

以前,博主刷一些C++题的时候习会可能写出以下代码:
#includeint n = 0;void Function() {        n++;        std::cout

时思美 发表于 2025-12-11 17:00:34

鼓励转贴优秀软件安全工具和文档!

阴昭昭 发表于 2025-12-13 21:56:07

懂技术并乐意极积无私分享的人越来越少。珍惜

费卿月 发表于 2025-12-20 14:25:28

懂技术并乐意极积无私分享的人越来越少。珍惜

驳嗦 发表于 2025-12-26 15:47:23

感谢分享,学习下。

归筠溪 发表于 2026-1-14 18:31:15

分享、互助 让互联网精神温暖你我

趣侮 发表于 2026-1-15 22:51:02

感谢,下载保存了

山真柄 发表于 2026-1-18 12:57:04

新版吗?好像是停更了吧。

即息极 发表于 2026-1-19 01:44:17

很好很强大我过来先占个楼 待编辑

诉称 发表于 2026-1-26 09:50:43

感谢分享,学习下。

瞧蛀 发表于 2026-2-7 06:20:23

感谢分享,下载保存了,貌似很强大

申屠梓彤 发表于 2026-2-8 04:15:23

感谢发布原创作品,程序园因你更精彩

秤陷曲 发表于 2026-2-8 06:33:47

这个有用。

丧血槌 发表于 2026-2-8 11:02:17

不错,里面软件多更新就更好了

啪炽 发表于 2026-2-8 13:39:40

谢谢分享,试用一下

聱嘹 发表于 2026-2-9 02:28:41

鼓励转贴优秀软件安全工具和文档!

顶豌 发表于 2026-2-9 06:35:53

分享、互助 让互联网精神温暖你我

扫恢怯 发表于 2026-2-9 07:16:07

感谢,下载保存了

连热 发表于 7 天前

谢谢楼主提供!

柯惠心 发表于 10 小时前

新版吗?好像是停更了吧。
页: [1] 2
查看完整版本: 【C++】static 知识整理 【静态与局部静态】