怎样理解啊
据说这是mcf的main函数启动流程,请大侠帮忙解读一下,尤其这个this指针
class a
{
};
class b : public a
{
};
class c : public b
{
public :
c* p;
c ()
{
p=this;
}
};
extern c theApp;
c*AfxGetApp()
{
return theApp.p;
}
int main ()
{
c*pApp=AfxGetApp();
return 0;
}
[解决办法]
theApp;这是个全局变量,包含一些控制程序运行的函数
至于那个p = this;我感觉没必要本来就能获取自身的this指针,何必要在弄一个
[解决办法]
c*AfxGetApp() 至于这个函数,直接返回 &theApp也可以
[解决办法]
这 theApp 是一个全局对象,其中包含了很多资源,这样封装为了单例模式。
c*AfxGetApp() 为了使用这个单列的资源 而返回指针。若返回的是实例的话 牵扯到零时对象拷贝等问题,增加了程序的开销。