浪费大家时间了,请问一个简单的有关问题

浪费大家时间了,请教一个简单的问题?

CPrintDialog m_printdlg(FALSE,PD_RETURNDEFAULT); //构造打印对话框
if (m_printdlg.DoModal() == IDOK)
{
   CDC pdc;
   pdc.Attach(m_printdlg.GetPrinterDC());
}


请问一下,大括号中的代码是在m_printdlg.DoModal执行过程中执行呢,还是在m_printdlg.DoModal执行之后执行,
如果是在m_printdlg.DoModal执行之后执行,那这个m_printdlg此时还存在吗?
------解决思路----------------------
之后,m_printdlg 这个变量存在,但与之关联的窗口已经不存在了。
------解决思路----------------------
就这段代码来说,当然是之后了。m_printdlg变量当然存在了,还在其生命期之内啊。只不过窗体已经销毁了,也就是说窗体自身,以及其上的控件对象的句柄都被释放掉了。


------解决思路----------------------
对象的生命周期还在,他的共有成员变量你还可以调用,但其内的资源已经被销毁了
你可以再具体了解下深拷贝与浅拷贝

------解决思路----------------------
m_printdlg.DoModal之后执行,大括号里的内容是m_printdlg.DoModal成立时才执行,所以一定是先执行m_printdlg.DoModal,m_printdlg这个类的成员变量,他的生命周期是类对象被delete后
------解决思路----------------------
debug+F11浪费大家时间了,请问一个简单的有关问题
------解决思路----------------------
之后,m_printdlg变量当还在其生命期之内的,只不过窗体已经销毁了,也就是说窗体自身,以及其上的控件对象的句柄都被释放掉了