我使用GTK创建带有按钮、列表等的GUI。
在某些类中,我有类型为gtk list store*的私有成员,我使用“gtk_list_store_newv”来初始化这些指针。
函数“gtk_list_store_newv”创建新的GtkListStore并返回GtkListStore*。GTK文档说“返回一个新的GtkListStore”。
是否使用“new”运算符为新创建的对象创建内存?如果是这样,那么我应该显式地用'delete'释放,例如在自定义对象析构函数中?
class What {
public:
What();
~What();
private:
GtkListStore* whatWhat;
};
// this constructor uses 'gtk_list_store_newv' to initialize the member
What::What() {
// some variables to define input arguments for the function
whatWhat = gtk_list_store_newv(// the arguments here...);
}
// SHOULD THIS EXPLICIT DESTRUCTOR USE 'delete'
What::~What() {
delete whatWhat; // do I need this 'delete' to release memory
}
仅作记录,当我使用“delete”时,这样既不会发生崩溃,也不会出现任何警告。