Описание тега qset
QSet - это шаблонный класс из Qt Toolkit, который предоставляет набор на основе хеш-таблиц. QSet <t> является одним из универсальных контейнерных классов Qt. QSet неупорядочен, поэтому нельзя считать, что последовательность итератора предсказуема. Если требуется упорядочение по ключу, используйте QMap. QSet хранит значения в неопределенном порядке, поэтому поиск значений выполняется быстро. Внутренне, QSet <t> реализован как QHash. QSet поддерживает как итераторы в стиле Java, так и итераторы в стиле STL. </t></t>
2
ответа
Контейнер QT, с указанным заказом и без повторов
Мне нужно что-то похожее на QSet, но мне нужно сохранить элементы в том порядке, в котором я их вставил есть такая вещь?
08 янв '17 в 09:33
1
ответ
(Де) сериализация QSet с enum с использованием QDataStream
Я использую Qt 4.8.7. я имею enum Color {red, green, blue} а также QSet<Color>, Как я должен (де) сериализовать QSet<Color> с помощью QDataStream? Десериализация не выполняется с пользовательским типом. Должен ли я вручную создавать сери…
11 авг '17 в 09:14
1
ответ
Как использовать QSet в качестве значения в QMap?
Я использую Qt и хочу объявить следующий контейнер: QMap<QUrl , QSet<ClassSharedPtr> > map; Здесь ClassSharedPtr - это общий расширенный ptr класса "Class". typedef boost::shared_ptr<const Class> ClassPtr; Я получаю следующие ошибк…
20 окт '15 в 05:07
0
ответов
QMap insertMulti vs QMap<int, QSet <QString>>
Я смотрел на сохранение набора значений на карте, с int в качестве ключа: - QMap<int, QSet<QString> > setOfValues; Читая документацию, я заметил, что QMap предоставляет функцию insertMulti, позволяющую вставлять несколько значений для од…
11 апр '14 в 08:46
2
ответа
QSet: ошибка с qHash и пользовательским классом
Я хочу создать QSet<Tag> что я хочу использовать внутри моей программы. Tag мой пользовательский класс Когда я строю код, я получаю ошибки GCC, касающиеся qHash перегрузка: Exercise.cpp.o In file included from /opt/Qt/5.5/gcc_64/include/QtCore…
16 сен '15 в 19:33
2
ответа
Как изменить элементы QSet?
Я имею QSet<QuadPattern> texture; и я хотел бы изменить все QuadPattern в цикле. foreach это не хорошее решение, потому что оно делает копию. С этим кодом: QMutableSetIterator<QuadPattern> it(texture); while (it.hasNext()) { it.next(); i…
27 июн '14 в 09:07
1
ответ
QSet добавить настраиваемый объект
У меня следующий класс class Test{ int a; int b; }; и все, что я хочу, это иметь QSet<Test> куда я вставлю несколько тестовых объектов. int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QSet<Test> setTest; setTest.insert…
17 фев '21 в 16:38
0
ответов
Как получить случайное значение из QSet без предупреждения «Выделение ненужного временного контейнера»?
Этот код здесь: CardSet &cs = p->game().cardSet(); QRandomGenerator rg; int index = rg.bounded( 0, cs.size() - 1 ); QString s = cs.values().at(index); // warning here Производит warning: allocating an unneeded temporary container [-Wclazy-con…
11 ноя '21 в 03:46
3
ответа
Неправильное поведение цикла в C ++ и Qt 6.2
Прежде всего, я полный новичок в C ++ и Qt, и я использую Qt 6.2 и C ++ 11. Это код, с которым у меня проблема: QSet<QList<QString>> listSet; for(int i = 0; i < 10; i++) { QList<QString> myList; for(int r = 0; r < 10; r++) { …
25 дек '21 в 06:06
1
ответ
Вставка в QSet против QHash
Я хотел бы знать, как именно работает вставка в QSet. Сравнивает ли QSet все элементы с новым элементом при вставке? Потому что, если это так, я бы использовал QHash с простым идентификатором в качестве ключа вместо использования QSet с классом конт…
16 май '23 в 13:21
0
ответов
Почему std::prev(), примененный к итератору QSet<int*>, дает мне ошибку сегмента?
У меня Debian 11 amd64, Qt 5.15.2, и я пытаюсь использоватьstd::prev(it.end())чтобы получить последний элемент вQSet, так: #include <QSet> int main() { return *(int*)(*(std::prev(QSet<int*>({new int(10)}).end()))); } Но когда я запускаю …
03 окт '23 в 21:05