谈谈大家是如何避免使用全局变量,有时候又不得不使用全局变量的

wxdcxp 2010-06-11 05:53:24
如题
...全文
1896 44 打赏 收藏 转发到动态 举报
写回复
用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里面不用全局是比较难。
  • 打赏
  • 举报
回复
[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)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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