社区
C语言
帖子详情
谈谈大家是如何避免使用全局变量,有时候又不得不使用全局变量的
wxdcxp
2010-06-11 05:53:24
如题
...全文
2903
44
打赏
收藏
谈谈大家是如何避免使用全局变量,有时候又不得不使用全局变量的
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
44 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shangyangi
2010-06-13
打赏
举报
回复
定义为static 形式,在函数调用时,以形参传递。
wangxipu
2010-06-13
打赏
举报
回复
Google的代码规范中
拒绝使用全局变量
haierpro
2010-06-13
打赏
举报
回复
灰常灰常不喜欢用全局变量。一般两种方法替代:
1.声明一放全局变量的结构,然后在入口函数处声明该结构为局部变量或动态分配内存,然后把这个结构的指针作为每个函数的参数。这样既方便移植又节省内存。
2.如果是要在已有的代码中加全局标记,我会在一个单独的文件内声明static的全局变量,然后定义专门用于访问这些变量的全局函数,函数内部可以做线程同步或数据过虑或数据有效性检查等。
个人觉得这样做,在程序移植和涉及多线程序方面时会方便很多。
happytang
2010-06-13
打赏
举报
回复
双刃剑,有利有弊
但是少用的原则是通用的
aperson111
2010-06-13
打赏
举报
回复
我最近迷上了用单例。。。这样貌似可以少使用全局变量
Simao
2010-06-13
打赏
举报
回复
真是牛人多多...
Oversense
2010-06-13
打赏
举报
回复
全局变量,想用就用,
你的程序,你做主,欧也
FingerStyle
2010-06-13
打赏
举报
回复
class XXX
{
static int xx;
static int yy;
}
XXX::xx
我一半这样用
wxdcxp
2010-06-12
打赏
举报
回复
[Quote=引用 23 楼 xianglitian 的回复:]
我从来不用全局变量
[/Quote]
你是如何做到的?用函数参数,还是函数返回值,或者其他的
liutengfeigo
2010-06-12
打赏
举报
回复
//lthyxy: C里面不用全局是比较难。
顽固已死_有事烧纸
2010-06-12
打赏
举报
回复
[Quote=引用 23 楼 xianglitian 的回复:]
我从来不用全局变量
[/Quote]
我这里到处是全局变量
zhouzhenhe2010
2010-06-12
打赏
举报
回复
一不小心就被修改 但有时就故意要修改
yangzhifu
2010-06-12
打赏
举报
回复
对,有时候传参数的确是很麻烦,如果一个全局变量用的多还的多多考虑加锁的问题
ww884203
2010-06-12
打赏
举报
回复
我刚刚就写了用全局变量的小程序。
其实我也可以不用,把它当成参数传递来传递去,但是想想没有意义,就还是用了全局变量
tang21814
2010-06-12
打赏
举报
回复
感觉C不用全局变量很难很难
只能说能不用尽量不用吧
实在需要用好好控制就好
走好每一步
2010-06-12
打赏
举报
回复
公司代码中全局变量多到不行(c语言),有时候挺痛苦的,不过后来想想,习惯吧。
liuenhai211
2010-06-12
打赏
举报
回复
尽量不要用
最好写类的公有成员函数来调用私有的成员变量
向立天
2010-06-12
打赏
举报
回复
我从来不用全局变量
mskmc_mc
2010-06-12
打赏
举报
回复
静态成员
huanmie_09
2010-06-12
打赏
举报
回复
[Quote=引用 5 楼 zhangweiit 的回复:]
在实际项目中
都是多多少少会用一些全局变量的
特别是在C的项目中,怎么可能不用呢?
也许有人说可以不用,但是,那要看代价了
C++的项目做得好的,确实可以避免
我们用,但是,少用
同时,要注意命名规范
一定会有g_的前缀
也尽量把全局变量,包装在struct里面,便于管理
一些C++项目,没有全局变量,或是很少
因为,在main里面,声明一个app对象就可以了
这是……
[/Quote]
up!
加载更多回复(24)
Javascript:
谈谈
JS的
全局变量
跟局部变量
今天公司一个实习小妹子问我两段JS代码的区别:[javascript] view plain copy [javascript] view plain copy 我想,好简单呀,不就是
全局变量
跟局部变量的scope问题吗?我说:"当
全局变量
跟局部变量重名时,局部变量的scope会覆盖掉
全局变量
的scope,当离开局部变量的scope后,又重回到
全局变量
的scope。所以两段代码运行的结果分别为:1
android
全局变量
转js,Javascript:
谈谈
JS的
全局变量
跟局部变量【转】
两段JS代码的区别:vara="Hello";functiontest(){vara;alert(a);a="World";alert(a);}vara="Hello";functiontest(){alert(a);a="World";alert(a);}我想,好简单呀,不就是
全局变量
跟局部变量的scope问题吗?我说:"当
全局变量
跟局部变量重名时,局部变量的scope...
谈谈
JS的
全局变量
跟局部变量
今天公司一个实习小妹子问我两段JS代码的区别: [javascript] view plaincopy "text/javascript"> var a = "Hello"; function test(){ var a; alert(a); a = "World"; alert(a); }
vue 为
全局变量
赋值_揭开 vue 背后的秘密(1)
昨天写了关于 react 如何j将 jsx 渲染到界面,今天朋友让我来
谈谈
vue,个人对于 vue 研究还是最近的事。说到 angular、react 和 vue 这三个前端主流框架,最先先接触的是 Angular ,随后是 react ,vue 是这两年市场对 vue 需求增加,所以也
不得不
看一看 vue 这个以轻巧而流行的前端框架。最近听了 Evan 关于 vue3 介绍,vue3 还是...
【音频处理技术】的相关调研
【音频处理技术】的相关调研
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章