Почему они определяют итератор.
Поскольку это то, что возвращает функция map .find (), итератор, содержащий
ключ и значение. Или возвращает mValue.end (), если значение не найдено, что
полезно, поскольку вы можете проверить, было ли найдено значение на карте или нет.
, чтобы получить значение, которое вы можете сделать:
map<string, int>::iterator itr = mValue.find(inName);
if(itr != map.end()) {
int value = itr->second;
// use value
}
Разве нельзя сказать что-то вроде int value = mValue.find (inName)
Нет, std :: map не имеет такой функции.
(и если бы это произошло, пришлось бы выдать исключение в случае, если значение не было найдено)