Вступить в клуб →
лёгкаявопросСовременный C++: move-семантика, шаблоны, лямбды

Цикл по словарю пользователей тормозит и не сохраняет изменения

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))

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела