Tipe Bool lebih kecil dari tipe Int, sehingga menggunakan lebih sedikit ruang dalam memori. Bergantung pada sistem yang Anda kompilasi pada / untuk, Int bisa 4 - 8 byte, sedangkan Bool adalah 1 byte (seperti yang dapat dilihat dalam artikel MSDN ini )
Padukan ini dengan beberapa aspek KISS dan desain program yang bagus, dan menjadi jelas mengapa lebih baik menggunakan bool untuk menyimpan variabel yang hanya akan memiliki 2 nilai.
Mengapa terlalu mempersulit hal-hal dengan objek yang dapat menyimpan berbagai nilai, ketika Anda yakin bahwa Anda hanya perlu menyimpan 1 dari 2 nilai yang berbeda?
Apa yang terjadi dalam sistem yang menggunakan int, jika Anda menyimpan 75 di sana? Jika Anda telah menambahkan persyaratan tambahan
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
atau
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
maka Anda dilindungi untuk situasi ini. Tetapi jika Anda belum melakukannya, maka Anda tidak.
Anda juga dapat memiliki case (tergantung pada bagaimana Anda mengubah nilai int) di mana Anda memiliki buffer overrun, dan nilai "reset" kembali ke 0 atau batas bawah int Anda (yang bisa berada di suatu tempat di wilayah -127 hingga −9.223.372.036.854.775.808, tergantung pada arsitektur target Anda ) apa yang terjadi pada kode Anda?
Namun, jika Anda menggunakan bool, Anda bisa menggunakan sesuatu seperti ini:
if(continueBool == true)
return true;
else
return false;
Atau bahkan:
return (continueBool== true) ? true : false;
atau bahkan:
return continueBool;
Bergantung pada kompiler Anda, mungkin ada optimisasi yang dapat dilakukan pada kode yang menggunakan Bools untuk menyimpan nilai true / false yang dipetakan. Padahal, mungkin tidak ada optimasi yang dapat dilakukan untuk Ints yang digunakan untuk menyimpan nilai true / false yang dipetakan.
Kita juga harus ingat bahwa C ++ (bersama dengan C, Assembly dan FORTRAN) digunakan untuk menulis kode yang sangat efisien, kecil dan cepat. Jadi, akan lebih baik menggunakan Bool dalam hal ini - terutama jika Anda ditandai pada penggunaan variabel, memori, cache atau waktu prosesor.
Pertanyaan serupa adalah: mengapa saya menyimpan integer (nilai) dalam float? Jawaban: Anda tidak boleh, karena tidak ada gunanya.
Singkat cerita: Sebagai guru / tutor / dosen / profesor Anda untuk membahas ukuran berbagai jenis nilai dengan Anda (jika Anda melewatkannya), dan mengapa mereka penting dalam Pengembangan Perangkat Lunak.
Saya harap ini membantu sebagai titik awal (saya juga berharap itu tidak dianggap sebagai hal yang terlalu besar)
int
adalah untuk menyimpan bilangan bulat dan tujuan daribool
adalah untuk menyimpan nilai boolean (true
ataufalse
). Menggunakanbool
IMO mencerminkan penggunaannya jauh lebih baik daripada menggunakanint
.