static在C/C++中的作用

C语言中 static 的作用:

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

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

  2. 静态局部变量:

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

  3. 静态函数:

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

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

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

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

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

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

相关推荐
chenbingjie_c42 分钟前
C++ 进阶核心知识点总结:模板、内存分区、new/delete、内存池
开发语言·c++
Escalating_xu2 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
实心儿儿2 小时前
Qt — Qt 事件
开发语言·qt
周杰偷奶茶2 小时前
【Java】数据类型与变量
java·开发语言
code斗2 小时前
Java数据结构:堆详解
java·开发语言·数据结构
Frank_refuel3 小时前
【C++】Json库介绍和使用
c++
重生之小比特3 小时前
【C++进阶】map和set
java·开发语言·c++
lie..3 小时前
30天从零开始学AI应用开发(Day 12):像产品一样稳:流式输出、报错重试、花钱控制
开发语言·人工智能·php
傻啦嘿哟3 小时前
Python的默认参数把我坑惨了,原来写[]和写None的区别这么大
开发语言·python·机器学习
DeepAgent4 小时前
AI Agent 工程实践(49):一次真实优化——从 Agent v1 到 v2
开发语言·人工智能·agent