まさに質問の内容。std :: lock_guardの短縮形は<std::mutex> lock(m)ですか?
std::mutex someMutex;
std::lock_guard<std::mutex> lg(someMutex);
理想的には私が今までstd::recursive_mutex
に変更したい場合は、リファクタリングを避けるために、ミューテックスの種類を推測何か:C++では、理想的には11が、あまりにも約14以降好奇心のための速記構文があります。言い換えれば
、これを行うための方法:現代のC++のすべての型推論の力のために
std::mutex someMutex;
std::lock_guard lg(someMutex);
それとも
auto lg = make_lock_guard(someMutex);
を、それだけでstd::lock_guard<std::mutex>
を毎回入力して行くことにひどく冗長ようです私は1つを作りたい。
あなたはtypedefと考えましたか? – zneak
誰がmutexを受け入れ、ロックガードを返すテンプレート関数を書くのをやめますか? – ForceBru
'make_lock_guard'の実装は、コードの1行または2行でなければなりません。 – NathanOliver