#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 会收集它自己的垃圾吗?
最佳答案
据我所知,这就是使用 wxWidgets 处理窗口的方式。该引用文献指出您特别不得删除它们,并且您可以请求使用wxWindow::Destroy
销毁它们。由用户操作关闭的框架的默认行为是框架被销毁。
没有这样的垃圾收集(例如 new wxString()
除非被删除,否则会泄漏),但是某些类的内存将由库自动管理。
关于c++ - wxWidgets 有某种垃圾收集器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874943/