Цикл по словарю пользователей тормозит и не сохраняет изменения
std::unordered_map<int, User> users; // 200 тыс. записей, User ~ 2 КБ
for (auto [id, user] : users) {
user.last_seen = now;
}
Профайлер показывает, что цикл в основном копирует объекты User, а после цикла last_seen не обновлён. Как записать цикл?
- for (auto& [id, user] : users)
- for (auto&& [id, user] : std::move(users))
- for (const auto [id, user] : users)
- for (auto [id, user] : std::as_const(users))
