VC++ MFC 全局变量问题...
学了一段时间的VC++MFC...对结构还是云里雾里的。..请高手指点一下1.全局变量和全局函数在那个地方定义呢?(整个工程都能运用.),,在运用的时候要不要用用2.引用...
学了一段时间的VC++ MFC ... 对结构还是云里雾里的。..请高手指点一下
1.全局变量和全局函数在那个地方定义呢?(整个工程都能运用.),,在运用的时候要不要用用
2.引用的时候要不要再加extern呢?谢谢// 展开
1.全局变量和全局函数在那个地方定义呢?(整个工程都能运用.),,在运用的时候要不要用用
2.引用的时候要不要再加extern呢?谢谢// 展开
4个回答
展开全部
1 全局变量定义在一个头文件中,如global.h中,然后在其中一个用到全局变量的文件中#include "global.h". 以后其它文件使用全局变量时,要用extern声明,不能包含头文件,否则重复定义;
2 全局函数可以在一个头文件中声明,在相应的cpp文件中定义,使用全局函数时,只需将该头文件包含;
3.面向对象编程,建议将全局函数封装成一个类的静态成员函数,如:
class CGlobal
{
public:
static void print();
};
使用的时候,如此:CGlobal::print();
2 全局函数可以在一个头文件中声明,在相应的cpp文件中定义,使用全局函数时,只需将该头文件包含;
3.面向对象编程,建议将全局函数封装成一个类的静态成员函数,如:
class CGlobal
{
public:
static void print();
};
使用的时候,如此:CGlobal::print();
展开全部
假设你的工程名是MyProject,对于全局变量和全局函数,建议你定义在CMyProjectApp类中,然后当你要使用的时候,只需要
CMyProjectApp* myApp=(CMyProjectApp*)AfxGetApp();
然后你就可以使用myApp->function()和myApp->m_nData的方式来使用你在它当中定义的全局变量和全局函数。
CMyProjectApp* myApp=(CMyProjectApp*)AfxGetApp();
然后你就可以使用myApp->function()和myApp->m_nData的方式来使用你在它当中定义的全局变量和全局函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般全局变量在StdAfx.cpp定义,在StdAfx.h中extern这个变量。
例如在StdAfx.cpp中定义变量int i;在StdAfx.h中extern int i;
全局函数的话,我没有用过,我想一般没有必要定义全局函数。
例如在StdAfx.cpp中定义变量int i;在StdAfx.h中extern int i;
全局函数的话,我没有用过,我想一般没有必要定义全局函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Mapinfo
开发吧,按道理是应该可以使用的,首先要明确全局变量在使用的时候是否初始化,值是否有效。
另外,有可能的话使用指针来指向比较稳妥。想上面的同学说的线程不安全的情况也要考虑一下。
开发吧,按道理是应该可以使用的,首先要明确全局变量在使用的时候是否初始化,值是否有效。
另外,有可能的话使用指针来指向比较稳妥。想上面的同学说的线程不安全的情况也要考虑一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询