static在C/C++中的作用

C语言中 static 的作用:

  1. 文件作用域的全局变量

    static修饰一个全局变量时,这个变量只在定义它的文件内部可见,不会被其他文件访问。

  2. 静态局部变量

    在函数内部,static关键字确保局部变量的生命周期贯穿整个程序,而不是每次函数调用时重新初始化。这使得变量的值在函数调用之间得以保持。

  3. 静态函数

    static修饰的函数只能在定义它的文件内部调用,具有文件内部链接,防止与其他文件中的同名函数冲突。

C++语言中 static 的作用(包括C中的所有作用):

  1. 静态成员变量(C++独有):

    在类中,static修饰的成员变量属于类本身,而不是类的任何特定对象。这意味着所有对象共享这个变量的同一个实例。

  2. 静态成员函数(C++独有):

    static修饰的成员函数可以在不创建类的对象的情况下被调用,并且它们只能访问类的静态成员和静态成员函数。

相关推荐
蓝天智能23 分钟前
立体字型效果的Qt QSS实现
开发语言·qt
艾莉丝努力练剑23 分钟前
【C++:哈希表】从哈希冲突到负载因子:熟悉哈希表的核心机制
开发语言·c++·stl·散列表·哈希表·哈希·映射
虾..28 分钟前
C++ 特殊类的设计
开发语言·c++
拾忆,想起1 小时前
Dubbo超时问题排查与调优指南:从根因到解决方案
服务器·开发语言·网络·微服务·架构·php·dubbo
7ioik2 小时前
什么是线程池?线程池的作用?线程池的四种创建方法?
java·开发语言·spring
晨非辰2 小时前
数据结构排序系列指南:从O(n²)到O(n),计数排序如何实现线性时间复杂度
运维·数据结构·c++·人工智能·后端·深度学习·排序算法
寻星探路2 小时前
JavaSE重点总结后篇
java·开发语言·算法
Charles_go3 小时前
C#中级8、什么是缓存
开发语言·缓存·c#
残影飞雪3 小时前
Jetson版本下Pytorch和torchvision
c++
松涛和鸣4 小时前
14、C 语言进阶:函数指针、typedef、二级指针、const 指针
c语言·开发语言·算法·排序算法·学习方法