Нужно удалить из словаря map<***, vector<string>> Events пары, в которых вектор строк пуст.
Я смог это сделать путем создания вектора, добавления в него нужных ключей и уже потом итерированием по этому вектору удалять значения:
vector<***> needDelete;
for(auto& item : events){
if(item.second.empty()) needDelete.push_back(item.first);
}
for(auto& item : needDelete){
Events.erase(item);
}
Но нет ли способа сделать эту операцию быстрее?
for (auto it = Events.begin(); it != Events.end(); ) {
if (it->second.empty())
it = Events.erase(it);
else
++it;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости