Именно то, что говорится в этом вопросе. В С++, в идеале 11, но любопытно, 14 и более поздних тоже, есть сокращенный синтаксис для:
std::mutex someMutex;
std::lock_guard<std::mutex> lg(someMutex);
В идеале что-то, что указывает на тип мьютекса, чтобы избежать рефакторинга, если я когда-либо хотел изменить на std::recursive_mutex
.
Другими словами, способ сделать это:
std::mutex someMutex;
std::lock_guard lg(someMutex);
или
auto lg = make_lock_guard(someMutex);
Для всех степеней вычитания современного С++, просто кажется ужасно избыточным, чтобы набирать std::lock_guard<std::mutex>
каждый раз, когда я хочу его создать.