Как удалить user_data в пользовательской TreeModel в gtkmm?

Я создаю user_data примерно так:

bool
MyTreeModel::iter_nth_root_child_vfunc (int index, iterator & iter) const
{
iter .gobj () -> user_data = new UserData (...);
return true;
}

Я могу создавать пользовательские данные, но есть ли способ получать уведомления об уничтожении итератора, чтобы я мог удалить свои пользовательские данные?

1

Решение

Нет; user_data является не владеющим указателем. Вы должны распараллелить дерево с контейнером на основе узлов (например, std::map) и хранить ваши UserData объекты в этом, с user_data указатель, указывающий в контейнер.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]