static关键字在C/C++中的用法
在C++中,static 关键字有几种不同的用法:
1. 静态(局部)变量
在函数内部声明的变量或类中声明的变量前加上 static,表示这个变量的生命周期为整个程序运行期间,而不是仅在函数执行期间。静态变量在第一次调用时初始化,之后保持其值直到程序结束。
void func() {
static int count = 0; // 静态局部变量
count++;
}
2. 静态函数
在函数声明或定义前加上 static,表示这个函数只在当前文件内可见,不能被其他文件访问。静态函数通常用于实现仅在当前编译单元中可用的辅助函数。
static void helperFunction() {
// do something
}
3. 静态类成员
在类中声明的静态成员变量属于整个类,不是属于类的具体实例。可以直接通过类名进行访问,而不需要创建类的实例。
class MyClass {
public:
static int staticMember; // 静态成员变量声明
static void staticFunction(); // 静态成员函数声明
};
int MyClass::staticMember = 0; // 静态成员变量定义和初始化
void MyClass::staticFunction() {
// do something
}
4. 静态全局变量
在全局作用域声明的变量前加上 static,表示这个变量只在当前文件中可见,其他文件无法访问,避免了全局变量的命名冲突。
static int globalVariable = 10; // 静态全局变量
本文作者:FreeCheng
本文链接:https://www.cnblogs.com/freecheng/p/17921320.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
C/C++基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!