Есть ли способ, которым я могу получить номер счета для итератора?индексирование с помощью итераторов
так, если сначала я имел это:
for (int i = 0; iter < agents.size(); ++i)
{
agents[i]->Index(i);
}
с учетом того, что индекс() задает целое, как бы я сделать это с помощью итераторов?
for (std::vector<Agent*>::iterator iter = agents.begin(); iter < agents.end(); ++iter)
{
(*iter)->Index(????)
}
Я был бы склонен использовать разницу в итераторах произвольного доступа или использовать счет! Если итераторы не поддерживают вычитание, усилие в цикле становится квадратичным. Ведение счета имеет сравнительно невыносимые затраты. –