Вам не нужен указатель. Избавьтесь от него и просто используйте map
вместо него:
QMap < QString, QString > map[10];
map[0].insert("key1", "value1");
map[0].insert("key1-1", "value1-1");
map[1].insert("key2", "value2");
map[2].insert("key3", "value3");
map[2].insert("key3-1", "value3-1"); ...
Чтобы перебрать их все, вам нужно перебрать массив, а затем и карты.
for (int i = 0; i < 10; ++i)
{
for (QMap<QString, QString>::iterator it = map[i].begin(); it != map[i].end(); ++it)
{
const QString& key = it->first;
QString& value = it->second;
...
}
}
Как видите, итератор QMap
представляет собой QPair
ключа и значения. Вы можете получить их отдельно, используя first
и seconds
, как у меня выше.