c++ - What is the order of evaluating boolean sentence? -


संभव डुप्लिकेट:

क्या कोई मानक या गणित के नियमों से परिभाषित किया जाता है कि बुलियन वाक्यों को ईवेवल्यूटिंग किया जा सकता है? उदाहरण के लिए:

  अगर (पहले ट्रू और दूसरी ट्रू) {}  

क्या मैं पहले यकीन कर सकता हूँ कि पहली जांच पहले की जाएगी?

हां और & amp; amp; और || हैं ऑपरेंड के मूल्यांकन का क्रम अच्छी तरह से परिभाषित है (बाएं से दाएं)

& amp; amp; amp; और भी एक अनुक्रम बिंदु है।> तो लिख रहा है यदि (++ i & amp; i) {} है पूरी तरह से ठीक है।

आईएसओ सी ++ 03 ( 5.14 / 1 ) कहते हैं:

इस & amp; amp; ऑपरेटर समूह बाएं से दाएं ऑपरैन्ड दोनों को निहित प्रकार के प्रकार (खण्ड 4) में परिवर्तित कर दिया गया है। यदि दोनों ऑपरेंड सही और गलत हैं तो इसका परिणाम सही है। & Amp;, & amp; amp; & amp; बाएं-से-सही मूल्यांकन की गारंटी देता है: दूसरा ऑपरेंड का मूल्यांकन नहीं किया जाता है, यदि पहला ऑपरेंड झूठा है

संपादित करें : (टिप्पणी देखने के बाद )

आईएसओ सी +0 03 (धारा <कोड> 1.9 / 18 ) कहता है

प्रत्येक अभिव्यक्ति के मूल्यांकन में

< P>
  • एक और amp; amp; बी>
  • एक || बी
  • एक? B: c
  • a, b

    इन भावों (5.14, 5.15, 5.16, 5.18) में ऑपरेटर के अंतर्निहित अर्थ का उपयोग करके, एक पहली अभिव्यक्ति के मूल्यांकन के बाद अनुक्रम बिंदु


  • Comments