社区
C++ 语言
帖子详情
VC/MFC类成员函数直接调用全局变量的后果?
xzj07
2011-01-11 12:16:34
在自己定义的类里,成员函数的实现直接调用了不是该函数参数的全局变量;并且该全局变量为另一个类的实例。
...全文
210
11
打赏
收藏
VC/MFC类成员函数直接调用全局变量的后果?
在自己定义的类里,成员函数的实现直接调用了不是该函数参数的全局变量;并且该全局变量为另一个类的实例。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
啥意思?
如果函数参数和全局变量同名,应该是参数覆盖了全局,调用的是参数才对呀。调用全局时要加上 ::
人到中年琐事多
2011-01-11
打赏
举报
回复
楼主的话,不禁让我深情地想起了MFC中的theApp, 哦,我的初恋
迷糊
2011-01-11
打赏
举报
回复
OMG
那请问你什么叫类?
使用类的原因是什么?
yylwuwei
2011-01-11
打赏
举报
回复
其实,这个只是编程习惯问题,
这个只能定义为不良的编程习惯,而不能定义为错误
yylwuwei
2011-01-11
打赏
举报
回复
一般不推荐这样使用,可能会对全局变量进行了一些非预期的操作从而引发错误,
如释放指针指向的空间,或者在不合适的时候进行了新的赋值等
VC
MFC
C++ 回调函数中
调用
MFC
类
的成员变量/函数/控件
在
MFC
的很多程序中,常常需要在回调函数中
调用
MFC
类
的
类
成员变量、
类
成员函数
,亦或者对话框控件的句柄。由于回调函数是基于C编程的Windows SDK的技术,而
类
成员又有this指针客观条件限制...所以在回调函数中不能够...
在
MFC
中添加
全局变量
和全局函数的方法
用静态局部变量(Static)定义
类
中的函数、变量,则就相当于定义了全局函数、
全局变量
。 说明:(1)静态局部变量、函数在即使在改
类
没有对象的情况下,也可以
调用
但是要加上
类
名。如:在应用时输入
类
名::函数 ...
VC
多线程中全局函数如何
调用
对话框
类
成员变量及
成员函数
在网上基于对话框的
MFC
例程中,网上所有例程均将线程函数定义为全局函数,而我在全局函数中需要用到对话框Dlg
类
成员函数
,此时使用This指针。 1)先申请个全局void
类
型指针: void *pdlg; 2)在dlg ...
VC
在
MFC
下定义
全局变量
和全局函数
VC
++
VC
在
MFC
下定义
全局变量
和全局函数
VC
++ 用
MFC
制作的工程由很多文件构成,它不能象一般C++程序那样随意在
类
外定义
全局变量
,在这里要想定义能被工程内多个文件共享的
全局变量
和函数必须用一些特殊方法才行。...
MFC
环境下
全局变量
的设置
在
VC
6.0软件的
MFC
环境下,如何设置
全局变量
让每一个对话框
类
均可以
调用
呢? 以设置全局字符串型变量为例: 1. 每一个
MFC
工程都会包含StdAfx.cpp和StdAfx.h,每一个对话框内都包含#include “stdafx.h”。 ...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章