TGViewer
Библиотека собеса по C++ | вопросы с собеседований Библиотека собеса по C++ | вопросы с собеседований @cpp_interview_lib · 4.61K subscribers
Post #1293 3.56K
💣 Задача на выходные: контекст с состоянием

Коллега написал менеджер транзакций. На code review всё выглядит норм — но остаётся ощущение, что тут есть баги 😸

class TransactionContext {
static TransactionContext* current;
std::vector<std::function<void()>> rollbacks;

public:
static TransactionContext& get() {
return *current;
}

void addRollback(std::function<void()> fn) {
rollbacks.push_back(fn);
}

TransactionContext() { current = this; }
~TransactionContext() {
for (auto& rb : rollbacks) rb();
current = nullptr;
}
};


🎯 Задание: Найди минимум 3 проблемы в этом коде.

🙂 Подумай: thread safety, исключения в деструкторах, вложенные транзакции.

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#междусобойчик
  • 🤔 2
  • 😢 1
More from @cpp_interview_lib
  1. Sep 16, 2026🩹 Задача: const-итерация по Range #include <ranges> #include <vector> void process(const…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 5, 2026Post #1456
  4. Aug 5, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 5, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Aug 4, 2026Post #1453
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →