我正在使用 C++ 创建一个使用 GTK+ 和 glade 的程序。我担心林间空地创建的对象的内存管理。例如,我创建了一个由一个窗口、一个按钮和两个输入字段组成的 glade 文件。然后在我的 C++ 代码中,我从该文件创建一个对象并获取指向该窗口的指针。我的问题是,完成后是否必须安全地释放窗口对象?如果没有,为什么我不必这样做?下面是我的代码示例...
#include <gtkmm.h>
#include "MattWindow.h"
#include <iostream>
using namespace std;
void buttonpush();
int main(int argc, char* argv[])
{
//This line initializes the GTK+ system
Gtk::Main kit(argc,argv);
//Declare a pointer to a window
Gtk::Window* window = 0;
try
{
//Load the glade file
Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("layout.glade");
Assign window to point to the window object
builder->get_widget("window1",window);
window->show();
}
catch(Gtk::BuilderError& e)
{
cout<<e.what();
}
//Start everything up
Gtk::Main::run();
//Who destroys the object that window is currently pointing to?
return 0;
}
void buttonpush()
{
}