Есть ли способ синтаксически сократить/упростить декларации итератора на C++. Обычно, я бы:Простой экземпляр итератора ST ++ STL
vector<pair<string, int> > v;
vector<pair<string, int> >::iterator i;
Я надеялся на какой-то магии, которая бы:
vector<pair<string, int> > v;
magic v::iterator i;
Если вы используете C++ 11, проверьте спецификатор 'auto'. – Macmade
Если вы используете C++ 11, просто скажите 'auto i (v.begin());' и компилятор выведет правильный тип для 'i'. http://en.cppreference.com/w/cpp/language/auto – dgnuff