मैं अभी बहुत बड़ी कोड बेस वाली परियोजना पर आया था।
मैं ज्यादातर C ++ के साथ काम कर रहा हूं और उनके द्वारा लिखे गए बहुत सारे कोड उनके बूलियन लॉजिक के लिए दोहरे नकार का उपयोग करते हैं।
if (!!variable && (!!api.lookup("some-string"))) {
do_some_stuff();
}
मुझे पता है कि ये लोग बुद्धिमान प्रोग्रामर हैं, यह स्पष्ट है कि वे दुर्घटना से ऐसा नहीं कर रहे हैं।
मैं सी + + विशेषज्ञ नहीं हूं, मेरा एकमात्र अनुमान है कि वे ऐसा क्यों कर रहे हैं, वे पूरी तरह से सकारात्मक बनाना चाहते हैं कि मूल्यांकन किया जा रहा मूल्य वास्तविक बूलियन प्रतिनिधित्व है। इसलिए वे इसे नकारते हैं, फिर इसे फिर से नकारते हैं ताकि इसे अपने वास्तविक बूलियन मूल्य पर वापस पा सकें।
क्या यह सही है, या मुझे कुछ याद आ रहा है?