Мне нужно получить доступ к каждому элементу в векторе, а также знать, в каком индексе находится элемент.
До сих пор я мог придумать два способа
for (iterator it= aVector.begin(), int index= 0; it!= aVector.end(); ++it, ++index)
оставив подпись типа. также похоже, что я не могу использовать авто
for (int index = 0; index < aVector.size(); ++index)
{
// access using []
}
Какой из них более эффективен или есть лучший способ сделать это?
std::distance
, если вы не можете контролировать, куда идет итератор from и не хотите сами писать цикл. Но на самом деле это просто цикл от первого ко второму и подсчет, ничего особенного. (EDIT: на самом деле это не в случаеvector
, это обман и использование того факта, что на самом деле это просто массив внизу). - person BoBTFish   schedule 19.09.2012