)
{
if (is_need_to_remove(*it))
it = victor.erase(std::find_if(victor.cbegin(), victor.cend(), [](int a) { return hash(a) == 0xDEADBEEF; });
else
it++;
}
это незаконно или нет?
Все норм
поправил немножко
Фигня стала какая-то
выглядит нормально
Непонятно зачем тебе два цикла
Вряд ли
похоже, тебе нужен std::remove_if
разве итераторы не инвалидируются при удалении у вектора? После удаления же уже нельзя идти по ним
я потому и спрашивал, но видать можно ¯\_(ツ)_/¯
а, не все норм, ты же получаешь итератор от erase
Не всегда. Но когда - не определено
Обсуждают сегодня