我正在使用C++創建一個使用GTK +和glade的程序。我擔心空地創建的對象的內存管理。例如,我創建了一個由窗口,按鈕和兩個輸入字段組成的glade文件。然後在我的C++代碼中,我從該文件創建一個對象並獲取指向該窗口的指針。我的問題是,當我完成後,是否必須安全地釋放窗口對象?如果沒有,爲什麼我不需要?以下是我的代碼示例...使用Glade和gtkmm對GTK +對象進行內存管理
#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()
{
}