我创建了这样的user_data:
bool
MyTreeModel::iter_nth_root_child_vfunc (int index, iterator & iter) const
{
iter .gobj () -> user_data = new UserData (...);
return true;
}
我可以创建用户数据,但有没有办法在迭代器被销毁时得到通知,所以我可以删除我的用户数据?
答案 0 :(得分:1)
没有; user_data
是非拥有指针。您应该将树与基于节点的容器(例如std::map
)并行,并将UserData
个对象存储在其中,user_data
指针指向容器。