सी में में एक चर आरंभ किया जा रहा ++ आप एक चर एक में है, इसलिए की तरह प्रारंभ कर सकते हैं अगर बयान:प्रो/चोर: एक सशर्त बयान
if (CThing* pThing = GetThing())
{
}
एक यह बुरा या अच्छा शैली क्यों पर विचार करेंगे? लाभ और नुकसान क्या हैं?
व्यक्तिगत रूप से मुझे इस शैली को पसंद है क्योंकि यह पीटीएचंग चर के दायरे को सीमित करता है, इसलिए जब यह नल होता है तो इसे गलती से कभी भी इस्तेमाल नहीं किया जा सकता है। हालांकि, मुझे यह पसंद नहीं है कि आप यह नहीं कर सकते:
if (CThing* pThing = GetThing() && pThing->IsReallySomeThing())
{
}
यदि उपर्युक्त काम करने का कोई तरीका है, तो कृपया पोस्ट करें। लेकिन अगर यह अभी संभव नहीं है, तो भी मैं जानना चाहूंगा कि क्यों।
Question borrowed from here, similar topic but PHP.
"(ए * ए = नया ए) और एक-> परीक्षण()" यह मानक सी ++ नहीं है। (-1) –
मैं तकनीकी उत्तरदायित्व के लिए यह उत्तर स्वीकार करूंगा। जिस बारे में चर्चा बेहतर है वह वास्तव में अत्यधिक व्यक्तिपरक है, मैं अपनी शुरुआती पोस्ट से शैली पसंद करता हूं, लेकिन मेरा टीडी नहीं चाहता कि मैं इसका इस्तेमाल करूं, इसलिए मैं नहीं करता हूं। समझौता के रूप में दायरे को सीमित करने के लिए मैं हमेशा अतिरिक्त ब्रैकेट का उपयोग कर सकता हूं। – steffenj