#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会收集它自己的垃圾吗?
答案 0 :(得分:1)
AFAIK,这就是你应该用wxWidgets来处理windows的方法。该引用表示您特别不得删除它们,并且您可以请求使用wxWindow::Destroy
销毁它们。由用户操作关闭的框架的默认行为是框架被销毁。
没有垃圾收集(例如new wxString()
将泄漏,除非删除),但某些类的内存将由库自动管理。