VC/MFC类成员函数直接调用全局变量的后果?

xzj07 2011-01-11 12:16:34
在自己定义的类里,成员函数的实现直接调用了不是该函数参数的全局变量;并且该全局变量为另一个类的实例。
...全文
210 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
管哥的天下 2011-01-11
  • 打赏
  • 举报
回复
要注意:对于使用关于另一个类的全局变量,该变量是属于该类本身的,所以一定要在头文件中包含该类的定义,而且对于全局变量最好刚开始要赋初值。
qwqwqw408 2011-01-11
  • 打赏
  • 举报
回复
单线程的话是没问题的,多线程你这么搞,尤其是多个线程同时去调用你那个方法,如果会对那变量修改的话,到时候会让你发疯的。
bluesky12312388 2011-01-11
  • 打赏
  • 举报
回复
不是错误,
至多是有一点不封装有点好而已。
有的时候不必须用类的全局变量
来共享数据。

extern CLcd lcd;
多的是这种代码。
只不过为了模块化程序,
不用这种全局变量会耦合性低点。
stshclg 2011-01-11
  • 打赏
  • 举报
回复
有点难度把
mtj520 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gangyilovevc 的回复:]
+

引用 1 楼 yylwuwei 的回复:

一般不推荐这样使用,可能会对全局变量进行了一些非预期的操作从而引发错误,

如释放指针指向的空间,或者在不合适的时候进行了新的赋值等
[/Quote]
+1
gangyilovevc 2011-01-11
  • 打赏
  • 举报
回复
+
[Quote=引用 1 楼 yylwuwei 的回复:]

一般不推荐这样使用,可能会对全局变量进行了一些非预期的操作从而引发错误,

如释放指针指向的空间,或者在不合适的时候进行了新的赋值等
[/Quote]
luciferisnotsatan 2011-01-11
  • 打赏
  • 举报
回复
啥意思?
如果函数参数和全局变量同名,应该是参数覆盖了全局,调用的是参数才对呀。调用全局时要加上 ::
  • 打赏
  • 举报
回复
楼主的话,不禁让我深情地想起了MFC中的theApp, 哦,我的初恋
迷糊 2011-01-11
  • 打赏
  • 举报
回复
OMG
那请问你什么叫类?
使用类的原因是什么?
yylwuwei 2011-01-11
  • 打赏
  • 举报
回复
其实,这个只是编程习惯问题,

这个只能定义为不良的编程习惯,而不能定义为错误
yylwuwei 2011-01-11
  • 打赏
  • 举报
回复
一般不推荐这样使用,可能会对全局变量进行了一些非预期的操作从而引发错误,

如释放指针指向的空间,或者在不合适的时候进行了新的赋值等

64,654

社区成员

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

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