【发布时间】:2012-02-11 02:16:57
【问题描述】:
#include <wx/wx.h>
class MyApp : public wxApp
{
virtual bool OnInit();
};
IMPLEMENT_APP(MyApp)
bool MyApp::OnInit()
{
wxFrame *frame = new wxFrame(NULL, -1, _("Hello World"), wxPoint(50, 50),
wxSize(450, 350));
frame->Show(true);
return true;
}
这段代码运行良好,如果在外面看到,它就是那种代码。我在堆上分配了一个 wxFrame,我从不担心内存,wxWidgets 会收集它自己的垃圾吗?
【问题讨论】:
-
您可能想阅读wiki.wxwidgets.org/Avoiding_Memory_Leaks 以获取答案。基本答案是否定的,它没有,而且您发布的代码存在内存泄漏。
-
你不能将你的问题编辑成一个完全不同的问题。
-
@yuushi 不是您创建的第一个注册为应用程序主窗口的顶级窗口吗?
-
@JohannesSchaub-litb 是的,你可能是对的。我要回过头来用 wxWidgets 查看有关代码的内容,并意识到我总是创建一个从 wxFrame 继承的单独类,然后定义了一个 onExit() 方法来破坏框架。我现在不太确定我最初的评论。希望对 wxWidgets 有更多经验的人能给出更好的答案。
标签: c++ c memory garbage-collection wxwidgets