C++のboolタイプ

1960 ワード

C言語を学んだプログラマーは、C言語にはboolという基礎的なタイプはないことを知っているはずです.C言語では、真または偽を表す場合、bool以外のタイプを定義して使用します.
C++には,ブールboolというベースのタイプを加え,trueとfalseで真または偽を表すか,0以外の値で真を表すか,0で偽を表す.C++では、ブールタイプはtrueとfalseのみを表し、ブールタイプの変数を1ビットで格納できるように見えますが、実際には、ブールタイプはC++で1バイトを占有します.
そのboolタイプは演算できますか?
答えはいいです.ブールタイプは真または偽のみを表すが、ストレージ領域で1バイトを占有するため、ブールタイプを演算することもできますが、0値が真ではなく、0値が偽というルールに従います.たとえば、次のコードがあります.
bool b = 0;
printf("b = %d
"
,b); b++; printf("b = %d
"
,b); b = b - 3; printf("b = %d
"
,b);

C++コンパイラでコンパイルして実行すると、b=0 b=1 b=1となります.
上記からも分かるように、ブールタイプはC++の基礎タイプとして、ブールタイプを完全に演算することができますが、最後には0値が真ではなく、0値が偽であるというルールに従います.
ブール型で変数を定義する
ブール型がC++の基本データ型である以上、bool型のグローバル変数定義bool型の定数定義bool型のポインタ定義bool型の配列を定義することができる
まとめ
C言語ではboolというタイプはありませんが、C++ではboolを基本的なデータ型として、データ型である以上、boolタイプの変数を演算するのに時間がかかりますが、最後には0値が真ではなく、0値が偽であるというルールに従います.また、boolタイプは基本的なデータ型として、定数、グローバル変数、ポインタ、配列を定義するためにも使用できます.