1. C++ / Говнокод #21545

    −20

    1. 1
    std::unique_lock<decltype(_settingsGuard)> _settingsGuard;

    Запостил: laMer007, 23 Октября 2016

    Комментарии (13) RSS

    • В проекте портилась куча
      Ответить
    • Это работает? Как?
      Ответить
      • кобенатор неподвижной почки
        Ответить
      • std::mutex _settingsGuard;
        ...
        void f() {
            std::unique_lock<decltype(_settingsGuard)> _settingsGuard;
            ...
        }

        А куча портилась, потому что юник лок без мьютекса и там все датарейсилось дичайше. Это моя теория.
        Ответить
        • Удалять мьютекс это сильно. А без явного указателя делитера это и произойдёт.

          Хотя про shadowing это отличная идея. Я и забыл, что он существует, так как у нас этот варнинг считается ошибкой.
          Ответить
          • там unique_lock, а не unique_ptr
            Ответить
            • Ок. Я не умею читать.

              А зачем там не unique_lock, а не lock_guard? IB4, ругалось на отсутствие конструктора по умолчанию у lock_guard
              Ответить
              • Ну я не знаю, это у ламера надо спросить. Может там потом понадобилось разлочить это дело, или наоборот залочить, или мувнуть куда.
                Ответить
                • А может ламер опечатался и там на самом деле был юник пойнтер. Вот это была бы приколюха.
                  Ответить
                  • И оба заюзаны на всякий случай. Не понимая нахуй каждый из них нужен.
                    Ответить
              • ib4?

                Таки в коде достаточно лок_гарда
                Ответить

    Добавить комментарий