Уведомления
Очистить все
Доброго дня, подскажите как можно прогнать QMap через цикл for, чтобы внутри цикла обработать все пары значений key и value. Хочу что-то такое:
QMap<int, QString> map;
for (.....)
{
// use key and value for each map element
}
Создатель темы Размещено : 10.09.2025 13:10
Самое простое:
for (auto key : map.keys())
{
qDebug() << "key" << key;
qDebug() << "value" << map.value(key);
}
Или:
for (auto it = map.begin(); it != map.end(); ++it)
{
qDebug() << "key" << it.key();
qDebug() << "value" << it.value();
}
Размещено : 10.09.2025 13:55
Для версий Qt >= 6.4:
for (auto [key, value] : map.asKeyValueRange())
{
qDebug() << "key-value pair" << key << value;
}
Размещено : 10.09.2025 16:03
Спасибо за ответы, все варианты работают.
Создатель темы Размещено : 10.09.2025 17:41
По производительности могут быть отличия, можно создать большую коллекцию и прогнать тесты с замерами времени выполнения.
Размещено : 10.09.2025 18:08