c++ - wxWidgets 有某种垃圾收集器吗?

标签 c++ c memory garbage-collection wxwidgets

#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() 除非被删除,否则会泄漏),但是某些类的内存将由库自动管理。

wxWidgets window deletion overview

关于c++ - wxWidgets 有某种垃圾收集器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874943/

相关文章:

Android:由于 AsyncTask 导致内存泄漏

c++ - 获得真正的免费可用空间

c++ - 带有 STL 的哈希列表 - 我可以将 STL 列表中的一个项目指向另一个项目吗?

ios - 如何在 iOS 项目中包含 C 库 (VLFeat 0.9.21)?

c:从文件中读取

node.js - 一旦达到一定的内存大小(泄漏),如何重新启动 Node 进程?

C,如果分配不能就地增长,则 realloc 失败

c++ - 复制构造函数未被调用

c++ - 我在VS2015中看不到CString的值。我应该做什么才能看到它?

c - C中多个子进程之间的管道示例