बूल प्रकार Int प्रकार से छोटे होते हैं, इस प्रकार स्मृति में कम कमरे का उपयोग करते हैं। आपके द्वारा / के लिए संकलित किए जा रहे सिस्टम के आधार पर, एक Int 4 - 8 बाइट्स हो सकता है, जबकि एक बूल 1 बाइट है (जैसा कि इस MSDN लेख में देखा जा सकता है )
के पहलुओं में से कुछ के साथ इस युगल KISS और अच्छे प्रोग्राम डिजाइन, और यह स्पष्ट हो जाता है क्यों यह बेहतर एक चर ही कभी 2 मान होगा कि स्टोर करने के लिए एक bool उपयोग करने के लिए है।
एक ऑब्जेक्ट के साथ चीजों को जटिल क्यों करें जो मूल्यों की एक विस्तृत श्रृंखला को स्टोर कर सकते हैं, जब आप सुनिश्चित हैं कि आपको कभी भी 1 से 2 नए मूल्यों को स्टोर करने की आवश्यकता है?
उस सिस्टम में क्या होता है जो एक इंट का उपयोग करता है, अगर आप वहां 75 स्टोर करते हैं? यदि आपने अतिरिक्त सशर्त जोड़े हैं
if (value >= 0 )
return true; //value is greater than 0, thus is true
else
return false; //value is 0 or smaller than 0, thus is false
या
if (value == 0)
return false; //value is greater than 0, thus is true
else if (value == 1)
return true; //value is 0 or smaller than 0, thus is false
तब आप इस स्थिति के लिए आच्छादित हो जाते हैं। लेकिन अगर आपने नहीं किया है, तो आप नहीं हैं।
आपके पास एक मामला हो सकता है (आप इंट के मूल्य को कैसे बदल रहे हैं इसके आधार पर) जहां आपके पास एक बफर ओवररन है, और मान "रीसेट" पर वापस 0 या आपके इंट के निचले बाउंड (जो कहीं हो सकता है) -127 से −9,223,372,036,854,775,808 का क्षेत्र, आपकी लक्ष्य वास्तुकला पर निर्भर करता है ) आपके कोड में क्या होता है?
हालाँकि, यदि आप एक बूल का उपयोग करते हैं तो आप कुछ इस तरह से उपयोग कर सकते हैं:
if(continueBool == true)
return true;
else
return false;
या और भी:
return (continueBool== true) ? true : false;
या और भी:
return continueBool;
आपके संकलक के आधार पर, ऐसे अनुकूलन हो सकते हैं कि यह कोड पर प्रदर्शन कर सकता है जो मैप किए गए सच्चे / झूठे मूल्यों को संग्रहीत करने के लिए बूल का उपयोग करता है। हालांकि, ऐसी आशाएँ नहीं हो सकती हैं, जो मैप किए गए इनट्स को सही / गलत मान रखने के लिए इस्तेमाल किया जा सकता है।
हमें यह भी याद है कि C ++ (C, असेंबली और FORTRAN के साथ) का उपयोग अत्यधिक कुशल, छोटे और तेज़ कोड लिखने के लिए किया जाता है। इसलिए, इस उदाहरण में एक बूल का उपयोग करना बेहतर होगा - खासकर यदि आपको चर, मेमोरी, कैश या प्रोसेसर समय के अपने उपयोग पर चिह्नित किया जा रहा है।
एक समान प्रश्न यह होगा: मैं एक फ्लोट में पूर्णांक (मान) को क्यों संग्रहीत करूंगा? उत्तर: आपको ऐसा नहीं करना चाहिए, क्योंकि कोई बात नहीं है।
लंबी कहानी छोटी: जैसा कि आपके शिक्षक (ट्यूटर / लेक्चरर / प्रोफेसर आपके साथ विभिन्न मूल्य प्रकारों के आकार में जाने के लिए (यदि आपने इसे मिस किया है), और वे सॉफ्टवेयर डेवलपमेंट में महत्वपूर्ण क्यों हैं।
मुझे उम्मीद है कि शुरुआती बिंदु के रूप में मदद मिलेगी (मुझे यह भी उम्मीद है कि यह पांडित्य के रूप में सामने नहीं आता है)
int
लिए एक पूर्णांक को स्टोर करना है और एक का उद्देश्यbool
बूलियन मूल्य (true
याfalse
) को संग्रहीत करना है ।bool
IMO का उपयोग करने से इसका उपयोग बेहतर तरीके से प्रदर्शित होता हैint
।