Ряд сообщений, которые я прочитал в последнее время, утверждают, что for(const auto &it : vec)
совпадает с использованием более длинного синтаксиса итератора for(std::vector<Type*>::const_iterator it = vec.begin(); it != vec.end(); it++)
. Но я наткнулся на этот пост, в котором говорится, что они не совпадают.
В настоящее время я пытаюсь стереть элемент в цикле 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*>
как константный указатель, но предпочел бы этого не делать, так как этот код в данный момент предназначен только для отладки.