में केवल एक स्ट्रिंग वैरिएबल नहीं है, तो मेरे पास A
, B
, C
नामक स्ट्रिंग वेरिएबल्स हैं LPCWSTR
।जांचें कि सी ++
मैं उन्हें किसी अन्य फ़ंक्शन से असाइन कर रहा हूं जो कभी-कभी nullptr
लौटा सकता है यदि कुछ गलत हो जाता है। इस तरह:
A = MyFunc();
B = MyFunc();
C = MyFunc();
अब, उन चर के साथ कुछ सामान के लिए, मैं जाँच करने के लिए (केवल चर में से एक असाइन किया गया है) की जरूरत है इन चरों का केवल एक ही nullptr
नहीं है।
if ((A == nullptr) && (B == nullptr) && (C <> nullptr)) {}
कैसे इस स्वागत कर रहे हैं करने के बारे में कोई भी विचार:
मैं इस अपने आप की तरह करने की कोशिश की। nullptr
जा रहा है और एक संख्या में भी वृद्धि करता है, तो यह नहीं है के लिए
int not_null = 0;
not_null += A != nullptr;
not_null += B != nullptr;
not_null += C != nullptr;
if (not_null == 1) {
/* Do stuff */
}
चेक प्रत्येक:
क्या आप 'xor' चेन नहीं कर सकते हैं, फिर परिणाम को अस्वीकार कर सकते हैं? कुछ 'जैसे! (ए^बी^सी) '। '^' बिटवाई है, लेकिन यह काम कर सकता है? बस गेंदबाजी थूकना। – Carcigenicate
@ धन्यवाद! लेकिन मैंने कभी भी सी ++ में 'xor' s का उपयोग नहीं किया :-(इसे वैसे भी कोशिश करेंगे। – Blueeyes789
क्या हम मान सकते हैं कि आप परवाह नहीं है कि कौन सा एक शून्य है, क्योंकि एक और केवल एक शून्य है? – user4581301