मेरे पास ScopedLock
कक्षा है जो दायरे से बाहर होने पर स्वचालित रूप से लॉक को रिलीज़ करने में मदद कर सकती है। हालांकि, समस्या यह है: कभी कभी टीम के सदस्यों को, इस तरह केसी ++ अज्ञात ऑब्जेक्ट्स से बचने के लिए कैसे करें
{
ScopedLock(mutex); // anonymous
xxx;
}
के रूप में ऊपर कोड गलत है क्योंकि ScopedLock
वस्तु का निर्माण किया और तुरंत विलुप्त अमान्य लॉक-कोड लिखने तो यह उम्मीद क्षेत्र लॉक करने के लिए (विफल रहता है xxx
)। मैं चाहता हूं कि संकलक इस तरह के कोड को संकलित करने का प्रयास करते समय त्रुटि दें। क्या यह किया जा सकता है?
मैंने g++
चेतावनी विकल्प खोजे हैं, लेकिन सही खोजने में विफल रहे हैं।
मुझे नहीं लगता कि आप इसे मना कर सकते हैं (या यहां तक कि एक कंपाइलर डायग्नोस्टिक उत्पन्न भी कर सकते हैं)। एक और अधिक कुशल (और संतोषजनक, शायद) समाधान आपके सहकर्मियों को तब तक थप्पड़ मारना होगा जब तक कि वे इसे करने से रोकते हैं। ;) – syam
बीटीडब्ल्यू, वास्तविक नाम * अस्थायी वस्तुओं * नहीं * अज्ञात वस्तुओं * है। – syam
दुर्भाग्य से, ऐसा लगता है कि http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010- दिसम्बर/012755.html इसे कभी भी क्लैंग में नहीं बनाया गया। –