首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
说一说 static 关键字的作用
[问答题]
说一说 static 关键字的作用
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(153)
分享
纠错
26个回答
添加回答
25
别说天会黑
限制所修饰变量的作用域,只能在当前源文件中访问 静态成员函数中不能访问普通的成员变量,只能访问静态成员变量,并且在静态成员函数中没有 this 指针
发表于 2022-06-28 09:26:50
回复(0)
15
卡兹克的命运
1.限制作用域 2.延长生命周期 3.类中修饰成员可以被所有对象共享。
发表于 2022-08-06 08:37:19
回复(1)
9
羊翻翻会幸福的
1. 限制作用域,static修饰的变量只能在当前源文件中访问 2. 静态成员函数不能访问普通成员变量,只能访问静态成员变量,且在静态成员函数中没有this指针 3. 延长生命周期,静态成员变量存储在静态区,程序结束才会释放 4. 静态成员被该类的所有对象共享,所有对象共享同一块内存。
发表于 2023-07-26 15:14:59
回复(0)
7
要健身的毕宿五
1.限制作用域,只能在当前的源文件中访问; 2.延长数据的生命周期,普通的局部变量在出了作用域就会被释放,而静态变量存储在静态区,直到程序运行结束才被释放; 3.静态成员被该类的所有对象共有;(静态成员函数只能访问静态成员变量,静态成员可以通过类名访问)
发表于 2023-03-03 17:36:02
回复(0)
2
718->716
经常看还记不住
编辑于 2024-03-27 19:36:21
回复(0)
2
吴再烁
static作用: 1.项目上: 项目维护,提供安全保证,类似于面向对象设计中的封装,只对外提供必要的接口,保证代码的安全性 2.修饰局部变量 (1).将局部变量修饰为静态局部变量 (2).改变局部变量的生命周期,从临时变量的生命周期变为全局变量的生命周期,使得临时变量一直存在直到程序结束才销毁 (3).作用域不变,仍然是局部 3.修饰全局变量 (1).将全局变量修饰为静态全局变量 (2).改变全局变量的作用域,将全局变量限制在本文件内,只能在本文件内部直接访问该变量,不能被外部文件直接访问 (3).生命周期不变 4.修饰函数 (1).称为静态函数 (2).使得该函数只能在本文件内部被直接访问,不能被外部文件直接访问
发表于 2023-08-01 10:16:20
回复(0)
0
爆学算法
1.限制作用域,static修饰的变量只能在当前源文件中访问。2.延长数据的生命周期,static修饰的变量存储在全局区,程序结束后释放。3.static修饰的成员变量由类的对象所共享。4.静态成员函数只能访问静态成员变量,且内部没有this指针。
发表于 2025-03-14 21:08:54
回复(0)
0
_helios_
static 是一个关键字,可以用来修饰局部变量、全局变量、成员变量、函数和成员方法。 主要作用有: 1、限制数据的作用域:被 static 修饰的全局变量和函数只能在当前源文件中访问,其它源文件访问不了。 2、延长数据的生命周期:通的局部变量出了作用域就会释放,而静态变量存储在静态区,知道程序运行结束才会释放。 3、修饰成员可以被该类所有对象共享:静态成员拥有一块单独的存储区,不管创建多少个该类的对象,所有对象都共享这一块内存。静态成员本质上属于类,可以通过类名直接访问。
发表于 2024-05-17 08:20:18
回复(0)
0
贪玩的回宇同桌在看数据
static修饰局部变量:该变量生命周期延长,伴随整个运行程序。从栈区变成全局区。 static修饰全局变量:限制了该变量的作用域,仅限于本文件,消除了不同文件同名变量之间的冲突。 static修饰成员变量和方法,使得该成员变量和方法可以被所有对象所公用。 静态成员函数只能访问静态成员变量。
编辑于 2024-04-08 19:26:13
回复(0)
0
自由的野指针黑化版
限制作用域,只能在当前源文件访问,,,,,延长生命周期,知道程序结束才释放,,,,,,,,,修饰类的成员,每个类只有一份,静态成员函数没有this指针
编辑于 2024-03-03 15:43:30
回复(0)
0
牛客393524079号
static 可以修饰局部变量,全局变量,函数,类成员函数,类成员。主要作用是 限制数据的作用域、延长数据的生命周期,修饰函数时表示该函数仅能在当前文件被访问,修饰成员函数时此函数不能访问普通的成员变量,只能访问静态成员变量,并且在静态成员函数中没有 this 指针。
发表于 2023-11-10 21:49:20
回复(0)
0
雏鹰划空
1. 限制全局函数和全局变量的作用域(对其他源文件隐藏):作为对比,那些没有被static修饰的全局变量和函数是所有源文件可见的。而,如果被static修饰了,那么这些修饰的全局变量和函数就只能是本源文件可见。起到一定的保护作用。 2. 延长局部变量的生命周期:作为对比,那些没有被static修饰的局部变量的生命周期只限于作用域内(函数,代码块),但是,static修饰的局部变量可以延长到整个程序结束。 3. 静态成员变量和静态成员函数:作为对比,没有被static修饰的成员和函数,是属于某个对象的,只能通过对象进行访问,但是,被static修饰的成员和函数,是属于整个类的,通过类名去访问。(静态成员函数只能访问静态成员变量)
发表于 2023-11-08 22:39:59
回复(0)
0
tomoya1116
static的作用是限制作用域,只能在当前源文件使用,内存空间为数据段,延迟生命周期
发表于 2023-10-26 19:08:32
回复(0)
0
零offer小菜鸡
修饰局部变量的时候,只初始化一次,其生命周期和程序的生命周期一直,在静态存储区分配内存;修饰全局变量时,在静态存储区分配内存,该变量在整个文件中都是可见的,在文件外不可见;修饰类内成员变量时,类内声明,类外初始化。所有对象共享这一数据,不用实例化对象就可访问。修饰类内成员函数时,不用实例化即可访问。该函数不接受this指针。
发表于 2023-09-23 10:04:45
回复(0)
0
hcodeboy
1. 全局静态变量和局部静态变量都存储在静态存储区,创建类对象时,只在全局/静态存储区开辟一份内存,类的所有对象皆可访问 2. 静态成员函数没有this指针,只能访问静态成员变量。
发表于 2023-08-14 17:54:27
回复(0)
0
踏实的懒羊羊说我这儿没问题啊
1、修饰局部变量 2、修饰全局变量 3、修饰函数 4、修饰成员变量 5、修饰成员函数 555555不知道对不对
发表于 2023-07-10 12:08:49
回复(0)
0
一位专业不是计算机的大学生
static修饰变量:1.修饰局部变量,改变局部变量的生命周期。2.修饰全局变量,改变全局变量的链接属性,使该变量只能在本源文件内使用。3.修饰成员变量,使该成员变量在该类对象中只有一份,静态成员变量需要在类外初始化。 修饰函数:修饰普通函数,改变该函数的链接属性,只能在本源文件内使用,修饰成员函数,该函数没有this指针
发表于 2023-06-23 17:18:06
回复(0)
0
-Passerby゛
1.在函数内部使用static关键字声明一个局部变量时,该变量的生存期为整个程序的运行期间,但作用域仅限于声明该变量的函数内部。这种变量又称为静态局部变量,一般用于在函数调用过程中,需要保持一些状态的场景。2.在类的成员函数中,可以使用static关键字声明一个静态成员变量。静态成员变量属于整个类,而不是某个对象,可以被该类的所有对象共享。3.在全局作用域中,可以使用static限定函数或变量的作用域,使其仅在声明它的文件内部可见。
发表于 2023-04-13 23:25:52
回复(0)
0
Orz~~~Orz
从两个角度说: 一个面向过程方面,用来修饰局部 变量,修饰全局变量。static修饰的和const一样,变量的可见性变为局部。 从面向对象方面: 修饰类的成员变量,修饰成员函数。 最后一点,static修饰的变量会被放到进城地址空间的哪一部分?
发表于 2023-02-23 11:43:53
回复(0)
0
牛客79602048号
延长局部变量的声明周期
发表于 2023-01-26 14:26:48
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C/C++
上传者:
real1993
难度:
26条回答
153收藏
966浏览
热门推荐
相关试题
吐泡泡
栈
评论
(1)
素数判断
过关题目
语言题
评论
(1)
无限长正整数排列字符串
枚举
评论
(1)
BFS
枚举
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题