Поиск пользователя «работает» в тестах, а в проде отдаёт мусор
std::optional<User> findUser(int id);
std::string greeting(int id) {
auto user = findUser(id);
return "Привет, " + user->name;
}
В тестах все пользователи существуют. В проде для удалённых аккаунтов сервис иногда отдаёт пустое или случайное имя, иногда падает. Исключений в логах нет. Почему?
- -> на пустом optional — UB без проверки
- -> на пустом optional бросает исключение
- Пустой optional возвращает User по умолчанию
- optional нельзя возвращать из функции
