当前位置: 首页 > news >正文

C,C++被static标记的变量和函数分别是什么意思

被static关键字标记的变量和函数的含义
在C++中,static关键字可以用于变量和函数的声明,它具有不同的语义和用途:static变量
1.全局静态变量:当全局变量被声明为static时,其作用域被限制为声明它的文件,即使使用extern关键字也无法在其他文件中访问。这有助于隐藏全局变量,减少程序中的耦合度.
2.静态局部变量:在函数内部声明的static变量具有静态存储期,即它们在程序的整个生命周期内都存在,并且在第一次函数调用时初始化。此后,即使函数调用结束,静态局部变量的值也不会丢失,会保留到下一次函数调用.
3.静态成员变量:在类中声明的static变量属于整个类,而不是类的任何特定对象。这意味着类的所有对象共享同一份静态成员变量的副本,无论创建了多少对象.
static函数
1.静态全局函数:在全局命名空间中声明的static函数的链接属性被设置为内部链接,这意味着它们只能在定义它们的文件中可见,不能被其他文件所用。这有助于避免命名冲突,实现模块化设计.
2.静态类成员函数:在类中声明的static函数不依赖于类的任何特定实例,它们可以通过类名直接调用。这意味着它们可以在没有创建类对象的情况下调用,并且它们可以访问类的静态成员变量和其他静态成员函数.static关键字的使用可以帮助程序员更好地控制变量和函数的生命周期、作用域和访问级别,是C++编程中一个非常有用的特性。
参考:[1]:https://www.runoob.com/w3cnote/cpp-static-usage.html[2]:https://zhuanlan.zhihu.com/p/715605793[3]:https://blog.csdn.net/qq469236803/article/details/8767445[4]:https://zhuanlan.zhihu.com/p/626751091[5]:https://blog.csdn.net/m0_73726899/article/details/141336359[6]:https://zhuanlan.zhihu.com/p/623335955[7]:https://www.cnblogs.com/hellowooorld/p/11281654.html[8]:https://zhuanlan.zhihu.com/p/684186482[9]:https://blog.csdn.net/u010167037/article/details/22981275[10]:https://zhuanlan.zhihu.com/p/579883676

http://www.lryc.cn/news/475749.html

相关文章:

  • Map 不常用方法介绍
  • 论文翻译:ICLR 2024.DETECTING PRETRAINING DATA FROM LARGE LANGUAGE MODELS
  • Spring 框架精髓:从基础到分布式架构的进阶之路
  • 深入理解C++ Lambda表达式:语法、用法与原理及其包装器的使用
  • C# 编程语言:跨时代的革命
  • 恋爱脑学Rust之Box与RC的对比
  • Rust 力扣 - 1423. 可获得的最大点数
  • Android15音频进阶之Cuttlefish搭建音频开发环境(九十二)
  • 发现不为人知的AI宝藏:发现AI新天地! —— 《第八期》
  • 基于物联网设计的地下煤矿安全监测与预警
  • Java 23 的12 个新特性!!
  • .NET 8 中 Entity Framework Core 的使用
  • ai数字人分身123口播克隆数字人小程序源码_博纳软云
  • 从0开始学PHP面向对象内容之(类,对象,构造/析构函数)
  • openGauss数据库-头歌实验1-5 修改数据库
  • 《JVM第3课》运行时数据区
  • 阅读笔记 Contemporary strategy analysis Chapter 14
  • 2024网鼎杯青龙组wp:Crypto2
  • 能通过Ping命令访问CentOS 9 Stream,但在使用Xshell连接
  • Oracle 第19章:高级查询技术
  • Excel:vba运行时错误“7“:内存溢出错误
  • 【MyBatis源码】BoundSql分析
  • KTHREAD--InitialStack和KernelStack和TSS的esp0
  • Skia基础运用(Ubuntu环境下使用BUILD.gn)
  • Vue中props和data的优先级哪个更高?
  • springboot2.x使用SSE方式代理或者转发其他流式接口
  • consul入门教程
  • 软考:大数据架构设计
  • token无感刷新+处理并发的后端方案
  • 【系统设计】让 Java “动起来”:动态语言与静态语言的比较及 DSL 实现