全局变量的定义方法

本文介绍了在MFC工程中定义全局变量的两种方法:一种是在主对话框和模态对话框的cpp文件内定义,另一种是在stdafx.h头文件中声明并在stdafx.cpp中定义。详细阐述了每种方法的具体步骤,帮助读者理解如何在不同场景下正确使用全局变量。
设:工程名为Project 
在这里说两种方法:
1、在主对话框和模态对话框中的cpp文件里定义
在父对话框CPP文件中,即ProjectDlg.cpp中定义全局变量str,格式为CString Str;(注意:位置在顶端#endif的后面,很多同学把位置写错了,所以定义的也就没作用了)。
然后在模态对话框中CPP文件中用下面语句
       extern CString Str;     //定义共享变量Str    (代码位置同上)
2、在stdafx.h 里定义
首先在 stdafx.h 里定义
extern CString Str;     //定义共享变量Str
然后在stdafx.cpp中写入    CString Str;
【源码免费下载链接】:https://renmaiwang.cn/s/wgna9 在Microsoft Foundation Class (MFC)库中,全局变量的使用是常见的编程需求,尤其是在大型项目中,为了在多个类或函数之间共享数据,全局变量往往不可或缺。MFC提供了多种方式来实现全局变量,每种方法都有其特定的适用场景和优缺点。下面将详细介绍这四种方法。### 1. 常规C++全局变量这是最基础的方法,适用于不涉及MFC特定类型的全局变量。在MFC应用的任何源文件中(通常是`.cpp`文件),你可以在全局作用域定义一个变量:```cppextern int g_GlobalInt; // 声明int g_GlobalInt = 0; // 定义```在这里,`g_GlobalInt`是可以在程序任何地方访问的全局变量。但需要注意的是,全局变量可能引发数据竞争和难以调试的问题,尤其是多线程环境下。### 2. MFC应用程序全局对象MFC提供了一个名为`CWinApp`的类,它是每个MFC应用程序的核心。你可以通过继承`CWinApp`并添加成员变量来创建全局对象:```cppclass CMyApp : public CWinApp{public: int m_GlobalInt;};// 在CMyApp的初始化代码中赋值CMyApp theApp;theApp.m_GlobalInt = 0;```这种方式的全局变量具有MFC生命周期管理,并且只在应用程序实例中可用。但同样要注意,过多的全局状态可能导致复杂性增加。### 3. MFC全局对象(Singleton)MFC支持单例模式,用于创建一个类的全局实例。例如,你可以创建一个单例类`CGlobalData`来存储全局数据:```cppclass CGlobalData{private: CGlobalData()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值