vc++中,为什么CWnd*pParent通常=NULL?
4个回答
展开全部
根据VC的命名规则,CWnd*pParent是指 某个窗口的 父窗口。
CWnd* pParent=NULL
这个代码,最常见的地方是函数的参数和函数参数带有的默认值。当参数pParent带有这个默认值,说明这个父窗口可以不指定,也就是使用NULL,表示没有父窗口。同时也表示,你可以指定父窗口,只要给这个参数一个明确的窗口指针就可以了。
另外一个常见的地方,就是声明一个窗口指针:
CWnd* pParent=NULL;
//pParent->Create(....);
pParent = GetParent();
这种情况相对少见,这里赋值NULL的意思,是为了指针安全,任何指针在声明的时候,赋值NULL都是很好的安全处理,是C/C++编程的好习惯。
这是为了防止声明指针变量后,指针变量的内存地址中有随机数值,这样在之后对指针是否为空的判断会出现错误。
展开全部
这个问题可以这样的来理解:
vc++编制的程序框架一般就是三种:SDI,MDI,DLG。而CWnd* pParent指的就
是本程序窗口(我们把控件,视图等等都广义的成为一个窗口)的父窗口,
除非你在编制关于控件的程序的时候可能要会要返回控件的环境,这时候的指
针就不为空。而是指示的它的上一级窗口。如果你的程序某些时候不需要用到
父窗口,一般就会为NULL.
vc++编制的程序框架一般就是三种:SDI,MDI,DLG。而CWnd* pParent指的就
是本程序窗口(我们把控件,视图等等都广义的成为一个窗口)的父窗口,
除非你在编制关于控件的程序的时候可能要会要返回控件的环境,这时候的指
针就不为空。而是指示的它的上一级窗口。如果你的程序某些时候不需要用到
父窗口,一般就会为NULL.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传递参数的时候,需要传递父窗口指针,但是如果你的程序某些时候不需要用到父窗口,那只要用NULL把这个参数缺省掉就可以了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
父窗口的指针,没有父窗口就 是null吧,不太清楚,觉得可能是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询