संभव डुप्लिकेट:
Double Negation in C++ code"!!" का उपयोग क्या है (दो बार नकारात्मक)?
मान लीजिए:
bool var = !!true;
यह चर के लिए आवंटित करेगा "सही"। बेकार लगता है, लेकिन मैं "जोर" का दृश्य स्टूडियो की परिभाषा देख रहा था, और यह है:
#define assert(_Expression) (void)((!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0))
ऐसा क्यों है "_Expression" नकारना है दो बार?
मुझे आश्चर्य है कि वे "!" को मजबूर करना चाहते हैं ऑपरेटर को बुलाया जाना चाहिए (मामले में यह अधिभारित है), लेकिन यह एक अच्छा कारण प्रतीत नहीं होता है।
अच्छा सवाल, +1 – jlledom
http://stackoverflow.com/questions/248693/double-negation-in-c-code – cnicutar
http://stackoverflow.com/questions/1310344/why-use-when-converting -इंटर-टू-बूल – cnicutar