У меня есть карта элементов, которые я хотел бы выполнить итерацию. Конечно, стандартным способом сделать это было бы использование цикла for с
for (map<string, int> iterator it = myMap.begin(); it != myMap.end(); ++it) {
string thisKey = it->first;
int thisValue = it->second;
}
, но если я попытаюсь заставить этот цикл работать параллельно с использованием конструкции OpenMP parallel for , это не будет ' t работает, и это (по-видимому) известная проблема, поскольку он не распознает такого рода конструкции цикла.
Итак, мой план резервного копирования заключался в использовании итератора целочисленного индекса и доступа к списку ключей и значений с помощью index, как я бы сделал в C #, вот так:
for (int i = 0; i < myMap.Count; ++i) {
string thisKey = myMap.Keys[i];
string thisValue = myMap.Values[i];
}
... но я не могу найти эквивалентный метод в C ++. Есть ли способ сделать это в C ++, о котором я не знаю?