| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Изменение ассоциативных контейнеров |
| Автор: xbarmaglot 24.9.2015, 12:12 |
| В stl после поиска нужного значения возвращается итератор на элемент контейнера. Его значение можно менять. А почему в QT возвращается не константный итератор, но значение менять нельзя? Если постоянно доставать элемент из него, менять и потом класть обратно, то слишком накладно получается. P.S. В частности я имею ввиду QSet |
| Автор: Sajtran 25.9.2015, 18:58 |
| особенность реализации мапы через множество ключ менять нельзя (иначе нарушится порядок сортировки), а вот значение различными приведениями - можно Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Izmeneniye-assotsiativnykh-konteynerov-id5603bf17ae201551208b4567#findElement_E7045_56056f1aae20152819b9cd88_0 |
| Автор: math64 28.9.2015, 15:01 |
| Я обычно в мапы и другие контейнеры складываю указатели, а не сами объекты. Тогда проблем с модификацией нет. Но при удалении контейнера и удалении указателя на объект из контейнера нужно не забыть удалить сами объекты, автоматом это не будет происходить. |
| Автор: xbarmaglot 30.9.2015, 17:32 |
| понятно |