বুলের প্রকারগুলি ইন্টার টাইপের চেয়ে ছোট, সুতরাং মেমরিতে কম ঘর ব্যবহার করে। আপনি যে সিস্টেমটি / এর জন্য সংকলন করছেন তার উপর নির্ভর করে একটি ইনট 4 - 8 বাইট হতে পারে, যেখানে একটি বুল 1 বাইট হয় ( এই এমএসডিএন নিবন্ধে দেখা যাবে )
এটি কেআইএসএস এবং ভাল প্রোগ্রাম ডিজাইনের কয়েকটি দিকের সাথে জুড়ুন এবং এটি স্পষ্ট হয়ে ওঠে যে কেন একটি ভেরিয়েবল সংরক্ষণ করার জন্য একটি বুল ব্যবহার করা ভাল যেখানে কেবলমাত্র 2 টি মান থাকবে।
আপনি যখন কেবলমাত্র 2 টির মধ্যে 1 টি পৃথক মান সংরক্ষণের প্রয়োজন তা নিশ্চিত হয়ে ওঠেন এমন কোনও বস্তুর সাথে কী কী জটিল জিনিসগুলি বিস্তৃত মানগুলিকে সঞ্চয় করতে পারে?
সিস্টেমে কোন ইনট ব্যবহার হয়, যদি আপনি সেখানে 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;
আপনার সংকলকটির উপর নির্ভর করে, অপ্টিমাইজেশন হতে পারে যে এটি কোডের মধ্যে পারফর্ম করতে পারে যা মুলযুক্ত সত্য / মিথ্যা মানগুলিকে সঞ্চয় করতে বুলগুলি ব্যবহার করে। অন্যদিকে, ম্যাপযুক্ত সত্য / মিথ্যা মানগুলি সংরক্ষণ করতে ব্যবহৃত ইনটসের জন্য এটি সম্পাদন করতে পারে এমন অপ্টিমাইজেশন নাও থাকতে পারে।
আমাদের আরও মনে রাখতে হবে যে সি ++ (সি, এসেম্বলি এবং ফোরট্রান সহ) অত্যন্ত দক্ষ, ছোট এবং দ্রুত কোড লিখতে ব্যবহৃত হয়। সুতরাং, এই পরিস্থিতিতে একটি বুল ব্যবহার করা ভাল - বিশেষত যদি আপনার ভেরিয়েবল, মেমরি, ক্যাশে বা প্রসেসরের সময় ব্যবহার করে চিহ্নিত করা হয়।
একই অনুরূপ প্রশ্নটি হবে: কেন আমি একটি ফ্লোটে একটি পূর্ণসংখ্যা (মান) সঞ্চয় করব? উত্তর: আপনার উচিত হবে না, কারণ এর কোনও মানে নেই।
দীর্ঘ গল্প সংক্ষিপ্ত: আপনার শিক্ষক / গৃহশিক্ষক / প্রভাষক / অধ্যাপক হিসাবে আপনার সাথে বিভিন্ন মানের ধরণের আকার দেখতে (যদি আপনি এটি মিস করেন) এবং সফ্টওয়্যার বিকাশে কেন তারা গুরুত্বপূর্ণ।
আমি আশা করি এটি একটি প্রাথমিক পয়েন্ট হিসাবে সহায়তা করবে (আমি এটিও আশা করি এটি পেডেন্টিক হিসাবে আসে না)
int
হ'ল একটি পূর্ণসংখ্যা সংরক্ষণ করা এবং এর উদ্দেশ্যbool
হ'ল বুলিয়ান মান (true
বাfalse
) সঞ্চয় করা। একটিbool
আইএমও ব্যবহার করা এর ব্যবহারের চেয়ে একটি ভাল ব্যবহার প্রতিফলিত করেint
।