Название: QMap обращение чарез iterator/ссылку/указатель Отправлено: deMax от Ноябрь 26, 2014, 11:31 В QMap храню настройки, но для ускорения доступа к элементам хочу обращаться через итератор, ссылку или указатель; есть ли гарантия что с данными по ссылке ничего не случиться, если я не буду вызывать удаление для этого ключа?
Название: Re: QMap обращение чарез iterator/ссылку/указатель Отправлено: Igors от Ноябрь 26, 2014, 11:52 Да, есть
Название: Re: QMap обращение чарез iterator/ссылку/указатель Отправлено: Hellraiser от Ноябрь 26, 2014, 11:58 Если требуется только чтение, то быстрее будет использовать const_iterator и связанные с ним constBegin, constEnd и constFind.
Название: Re: QMap обращение чарез iterator/ссылку/указатель Отправлено: deMax от Ноябрь 26, 2014, 12:13 А как лучше автоматически связать некоторые члены класса с настройками, скажем есть class ViewData {int* sizeText, int* num} с настройками settings["ViewData\sizeText"] и settings["ViewData\num"].
Т.е. чтобы в конструкторе автоматически вызывалось sizeText = &(settings.find("ViewData\sizeText").value()); Название: Re: QMap обращение чарез iterator/ссылку/указатель Отправлено: Hellraiser от Ноябрь 26, 2014, 12:26 Не совсем понятно, как это относится к теме топика. Автоматически, на мой взгляд, это когда в дизайнере мышкой ткнул и связал какую-то проперть с хранимой настройкой. А при написании кода, все-равно придется считывать из настроек значение и присваивать куда-то. Для этого конструктор и придуман. Можно пойти по пути автоконнекта (http://qt-project.org/doc/qt-4.8/qmetaobject.html#connectSlotsByName) и написать что-то подобное свое для поиска настройки по имени и чтения ее значения.
Название: Re: QMap обращение чарез iterator/ссылку/указатель Отправлено: deMax от Ноябрь 26, 2014, 13:54 С наследниками GUI созданную QObject примерно понятно, как с обычными членами класса поступить?
Хэш массив в стиле var["sizeText"] = &sizeText или может дефайн какой хитрый написать чтоб в хиадер и конструктор этот код добавил? |