ブール (C++)

このキーワードは組み込みの型です。この型の変数を値と trueFalse を持つことができます。条件式に型 bool があるため型 bool の値があります。たとえばi!=0 に i の値に応じてtrue または False があります。

trueFalse に次のリレーションシップがあります :

!false == true
!true == false

次のステートメント :

if (condexpr1) statement1; 

condexpr1 が true 場合statement1 は常に実行されます ; condexpr1 が False 場合statement1 は一度も実行されません。

プレフィックスの ++ の bool または後置演算子を型の変数に適用すると変数は true に設定されます。プレフィックスの -- のまたは後置演算子はこの型の変数には適用できません。

bool は整数型の上位変換に参加します。型 bool の右辺値は False なる場合 true となる 1 の型 int の右辺値に変換できます。型として bool はオーバーロードの解決に使用されます。

Microsoft 固有の仕様 →

ビジュアル C++4.2 では標準 C++ ヘッダー ファイルは int と bool を一致した typedef が含まれています。Visual C++ 5.0 以降ではbool は 1 バイト のサイズの組み込み型として実装されます。これはVisual C++ 5.0 以降で同じ呼び出しの yield 1. で Visual C++ 4.2 ではsizeof (Boolean) の呼び出しが 4 桁になることを意味します。これはVisual C++ 4.2 の型 bool の構造体メンバーを定義および 4.2 で作成されたオブジェクト (OBJ ファイル) や DLL と 5.0 以降のコンパイラ混在させるとメモリの破損問題が発生する可能性があります。

__BOOL_DEFINED マクロは bool がサポートされているかどうかに依存しているあるコードをラップすることもできます。

使用例

// bool.cpp
#include <stdio.h>

int main()
{
    #if !defined(__BOOL_DEFINED)
        printf_s("bool is not supported\n");
    #elif defined(__BOOL_DEFINED)
    printf_s("bool is supported\n");
    #endif
}
  

参照

関連項目

C++ のキーワード

基本を入力します (C++)