静态变量 和 全局变量 有什么区别?

cimu 2005-08-12 08:20:14
请大家帮忙分析一下,本人初学 C++
...全文
305 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mituzhishi 2005-08-13
  • 打赏
  • 举报
回复
static在内存中只有一份,这是static变量的最大特点

当然全局变量也不会有两份,不过它只能放在类的外面,static可以放在类里面。
cimu 2005-08-13
  • 打赏
  • 举报
回复
多谢各位 开始散分了
yhbttfile 2005-08-12
  • 打赏
  • 举报
回复
同意“foochow(恰似你的温柔)”。

不过,就这么说可能还不完整。这个静态变量是在函数中?类中?还是在没有限定的名字空间中?还是具体的名字空间中?

如果是函数中,则需要注意其初始化问题。
如果是在类中,类的静态变量跟全局变量没有什么差别,只是作用域局限在类中(程序在调用main前一定会初始化这个变量)。
如果是后两种情况,前面的大侠已经说过了。。。
foochow 2005-08-12
  • 打赏
  • 举报
回复
全局变量和静态局部变量都是以静态存储方式存储的。但全局变量具有外部连接性,即同一工程中其它文件中的也可引用。而静态变量不具有外部连接性,即同一工程中其它文件中不可以引用。
xiaocai0001 2005-08-12
  • 打赏
  • 举报
回复
从作用域和生存期上加以区别!

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧