저는 C++을 사용하여 GTK + 및 glade를 사용하여 프로그램을 만듭니다. 나는 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()
{
}