Число сообщений, которые я читал в последнее время, for(const auto &it : vec)
такое же, как с использованием более сильного синтаксиса итератора for(std::vector<Type*>::const_iterator it = vec.begin(); it != vec.end(); it++)
. Но я столкнулся с this post, который говорит, что они не то же самое.Преобразование const auto & to iterator
В настоящее время я пытаюсь стереть элемент в цикле for после его использования и задаюсь вопросом, есть ли способ конвертировать const auto &it : nodes
в std::vector<txml::XMLElement*>::iterator
?
код в вопросе:
std::vector<txml2::XMLElement *> nodes;
//...
for (const auto &it : nodes)
{
//...
nodes.erase(it);
}
Я уверен, что я мог бы просто переписать std::vector<txml2::XMLElement*>
как константный указатель, но предпочел бы не так как этот код только для отладки в данный момент.
Спасибо, это была огромная помощь. В конечном итоге закончилось просто использование 'set_difference', но это привело меня к правильному пути. – ZeroPhase