Russian Qt Forum
Ноябрь 25, 2024, 20:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMap обращение чарез iterator/ссылку/указатель  (Прочитано 3342 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Ноябрь 26, 2014, 11:31 »

В QMap храню настройки, но для ускорения доступа к элементам хочу обращаться через итератор, ссылку или указатель; есть ли гарантия что с данными по ссылке ничего не случиться, если я не буду вызывать удаление для этого ключа?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Ноябрь 26, 2014, 11:52 »

Да, есть
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #2 : Ноябрь 26, 2014, 11:58 »

Если требуется только чтение, то быстрее будет использовать const_iterator и связанные с ним constBegin, constEnd и constFind.
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #3 : Ноябрь 26, 2014, 12:13 »

А как лучше автоматически связать некоторые члены класса с настройками, скажем есть class ViewData {int* sizeText, int* num} с настройками settings["ViewData\sizeText"] и settings["ViewData\num"].
Т.е. чтобы в конструкторе автоматически вызывалось sizeText = &(settings.find("ViewData\sizeText").value());
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #4 : Ноябрь 26, 2014, 12:26 »

Не совсем понятно, как это относится к теме топика. Автоматически, на мой взгляд, это когда в дизайнере мышкой ткнул и связал какую-то проперть с хранимой настройкой. А при написании кода, все-равно придется считывать из настроек значение и присваивать куда-то. Для этого конструктор и придуман. Можно пойти по пути автоконнекта и написать что-то подобное свое для поиска настройки по имени и чтения ее значения.
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #5 : Ноябрь 26, 2014, 13:54 »

С наследниками GUI созданную QObject примерно понятно, как с обычными членами класса поступить?
Хэш массив в стиле var["sizeText"] = &sizeText или может дефайн какой хитрый написать чтоб в хиадер и конструктор этот код добавил?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 22.