C++中使用全局变量好,还是public的类成员变量好?

 我来答
xingyunbuzui
2012-08-24 · TA获得超过1160个赞
知道小有建树答主
回答量:346
采纳率:100%
帮助的人:388万
展开全部
1 C++杜绝全局变量
2 C++也不建议把成员变量设置为public。(而且简单的pubic设置和全局化也没有任何关联,估计你想要的是static的public变量)

不知道你为什么会有这类问题,C++看待角度应该和C有截然不同的视角,不要用C的想法去套C++。
我无法估计你要什么,我只能估计给个建议:
1 如果你需要全局访问的对象(注意,尽可能不用变量来描述),可以参考使用单例模式的类设计。
2 最好的方法,还是将需要全局访问的内容转换为非全局访问。
3 上面两个之间的权衡没有绝对标准,一般以2为主导,1的方法只适合横向切入系统的类设计,例如日志类、配置类等。(其实,也可以进行非全局融入)

如果你愿意,可以把你的具体问题罗列一下,我给点建议。
追问
是这样的,我在写一个摄像机拍图存图图像处理有关的程序。
有很多类似char imgname[100]; FILE *pFile1; 的全局变量,看来是要都加入到成员变量里,在C++里再设全局变量就和安全性的本质特点相违了~
还有一个问题,现在摄像机拍图存图对应了一个类,我再添加很多图像处理方面的函数,也加进去关系不大还冗杂,是再新建一个类比较好吧?
resonly6510
2012-08-24 · 超过17用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:61.5万
展开全部
C++全局变量 跟C中的全局变量一样
public的类成员变量 跟C中的结构体变量一样

这好不好,就看你如何设计你的程序. C++与C不一样,C++是面向对象的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Amroll
2012-08-24 · TA获得超过106个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:75万
展开全部
全局的变量 只需在头文件直接声明就可以全局使用了。
使用PUBLIC类的话还要声明创建一个全局的类对象,才能在全局访问。
两个相比的话没有什么好坏之分,自己能用的顺手才是最好的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周生008
2012-08-24 · TA获得超过1222个赞
知道小有建树答主
回答量:1329
采纳率:0%
帮助的人:647万
展开全部
public成员变量
因为全局变量作用范围太大,可能会污染名字空间
但是public的类成员的作用范围只在类里边,是有限制的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzzc1989
2012-08-24 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:157万
展开全部
public成员变量 必须必~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式