社区
C++ 语言
帖子详情
C++中静态函数里的局部变量是存在在静态存储区的吗?
liyaobinRyan
2011-02-25 02:31:22
如些,C++普通函数与类中的成员函数如果声明为static类型,但其中的所用到的局部变量没有声明为static类型,则其局部变量是存储在静态存储区吗?属于静态类型吗?因为进行多线程编程时,我不知道是否为对静态函数中的局部变量进行保护。求指教
...全文
655
11
打赏
收藏
C++中静态函数里的局部变量是存在在静态存储区的吗?
如些,C++普通函数与类中的成员函数如果声明为static类型,但其中的所用到的局部变量没有声明为static类型,则其局部变量是存储在静态存储区吗?属于静态类型吗?因为进行多线程编程时,我不知道是否为对静态函数中的局部变量进行保护。求指教
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mcd_23
2011-02-25
打赏
举报
回复
[Quote=引用 3 楼 liyaobinryan 的回复:]
例如:
static int function()
{
int value;
}
其中value是存储在静态区吗?
[/Quote]
存储在栈,声明为static时,才在静态存储区
小函数
2011-02-25
打赏
举报
回复
static关键字意思很多,普通函数是外部连接的,如果前面加static就变内部连接了,普通全局变量本来就是外部连接+静态区存储,加static仅仅把他变为内部连接,局部变量加static仅仅改变其存储位置,c++中全局常量加static无意义,类内的static const int可以在类内定义并初始化,类是内部连接的,但是类的static成员全是外部连接的~
lcy779779
2011-02-25
打赏
举报
回复
变量的作用域决定它的生存期,离开了作用域,那么其随之而消亡
变量分为局部变量、静态局部变量、全局变量
局部变量具有局部作用域,只局限于定义它的函数,一旦离开此函数即消亡
全局变量和静态局部变量具有全局作用域,整个程序的执行期间一直存在
static修饰函数,只是决定了此函数的作用域,所有对其可见的地方都可以调用此函数
变量和函数是定义是两码事
碎碎念
2011-02-25
打赏
举报
回复
static 修饰变量,和修饰函数是两回事。。
static函数里面的局部变量仍然是存储在栈上的。。。
Aniao
2011-02-25
打赏
举报
回复
C++函数的静态跟变量的静态是两码事
昵称很不好取
2011-02-25
打赏
举报
回复
额,不是。
static修饰函数,不会跑进去修饰变量
JAVASUI
2011-02-25
打赏
举报
回复
你自己写一个简单的 main 控制台程序,分别调用两次这个函数,每次设置不同的value值,再打印查看一下这个值,就知道了
pengzhixi
2011-02-25
打赏
举报
回复
[Quote=引用 3 楼 liyaobinryan 的回复:]
例如:
static int function()
{
int value;
}
其中value是存储在静态区吗?
[/Quote]
不是
liyaobinRyan
2011-02-25
打赏
举报
回复
例如:
static int function()
{
int value;
}
其中value是存储在静态区吗?
xiaoyu_1_30
2011-02-25
打赏
举报
回复
局部变量你是怎么定义的?
昵称很不好取
2011-02-25
打赏
举报
回复
静态函数的作用只是为了避免其他模块访问,跟内部变量的属性没有关系
最全的C和
C++
语言笔试面试题汇总
### 最全C和
C++
语言笔试面试题汇总知识点解析 #### 一、关键字`static`的作用 1. **
函数
体内**:在
函数
内部声明为
静态
的变量,...- **
函数
**:
静态
函数
仅可在定义它的源文件内调用,而普通
函数
可以在整个程序
中
调用。
c++
primer第五版第6章答案
这
里
展示了如何在
函数
中
使用
静态
局部变量
`cnt` 来记录
函数
被调用的次数。
静态
局部变量
的特点在于: - 初始化只进行一次。 - 生命周期贯穿整个程序运行过程,即使
函数
执行完毕,变量仍然保留其最后的值。 -
存储
在...
C++
中
的
静态
局部变量
,
静态
全局变量,
静态
成员变量,
静态
成员
函数
在
C++
语言
中
,static 关键字用于创建
静态
变量。...局部
静态
变量
存储
在全局数据
区
,只允许初始化一次,但它的生命周期和全局变量一样,自它们被定义时就一直
存在
,直到程序结束时才会被销毁。不会随着
函数
的结
C++
中
的
静态
局部变量
1
静态
局部变量
在
静态
存储
区
内分配
存储
单元。在程序运行期间都不释放。 2 对
静态
局部变量
是在编译时赋初值的,即...4
静态
局部变量
在
函数
调用结束后仍然
存在
,但其他
函数
不能引用它,在其他
函数
中
,它是"不可见"的...
静态
函数
、全局
函数
,
静态
变量、
局部变量
、全局变量的作用域,生命周期,以及内存
中
的
存储
位置(C/
C++
):
局部变量
:
局部变量
也叫auto自动变量(auto可...在变量前面加上static关键字就是
静态
局部变量
,有以下特点: static
局部变量
的作用域也是在定义的
函数
内部有效; static
局部变量
的生命周期和程序运行周期一样; .
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章