|
|
学习 MFC的时候, 看 MFC程序设计中, 这样覆写
继承自CWinApp 的InitInstance方法。
- BOOL CMyApp::InitInstance()
- {
- m_pMainWnd = new CMyFrame;
- m_pMainWnd->ShowWindow(m_nCmdShow);
- m_pMainWnd->UpdateWindow();
-
- return TRUE;
- }
复制代码
学习的时候并没有 仔细思考m_pMainWnd,
今天, 左思右想 既然 m_pMainWnd是在堆中创建了 CMyFrame的一个实例,
那 我这并没有 显式的 在程序结束时 delete 这片内存。
但是 这样些并没有产生内存泄露,
在调试状态 框架默认都带Debug的检测内存泄露的这段
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
复制代码
问题是, 究竟 m_pMainWnd 被如何释放掉了?
谢谢 大侠指点。(注释: 左翻右翻了 MFC的代码和头文件,还是没有找到) |
|