Название: Использование указателя на объект в QMap Отправлено: qt_beginner от Ноябрь 05, 2011, 02:13 Использую в QMap в качестве ключа указатель на объект - QMap <QTreeWidgetItem*,QString> someMap;
Такая конструкция в принципе работает. Можно ли так делать, и какие подводные камни есть при использовании указателя в качестве ключа? Название: Re: Использование указателя на объект в QMap Отправлено: kambala от Ноябрь 05, 2011, 03:12 думаю в твоем случае лучше текст записывать прямо в айтем через QTreeWidgetItem::setData() (ну или QTreeWidgetItem::setText())
Название: Re: Использование указателя на объект в QMap Отправлено: Igors от Ноябрь 05, 2011, 10:38 Использую в QMap в качестве ключа указатель на объект - QMap <QTreeWidgetItem*,QString> someMap; Ну как "работает" - сравниваются указатели, как прицепить функтор для QMap - мне неизвестно. Это годится для поиска, но итерация такой QMap будет невоспроизводимой - т.е. на следующем запуске элементы в QMap будут расположены уже в др. порядке, как их выделит new. Если айтем удаляется и опять создается - нужно суетиться и в QMap его заново вставлять. Проще и лучше хранить прямо в айтеме как предложил kambalaТакая конструкция в принципе работает. Можно ли так делать, и какие подводные камни есть при использовании указателя в качестве ключа? Название: Re: Использование указателя на объект в QMap Отправлено: Рома от Ноябрь 08, 2011, 22:28 Возможно я не совсем правильно понял суть вопроса, но лично я вместо QTreeWidgetItem* использовал-бы QPoint с номерами строки и столбца соответственно. Так не будет никаких проблем с указателями.
|