ブール変換

C 任意のスカラー値を型 _Bool に変換すると、その結果の スカラー値が 0 に等しい場合は 0 になります。スカラー値が 0 以外の場合は 1 になります。

C++整数、浮動小数点、算術、列挙、ポインター、およびメンバー右辺値型を指すポインターを、 型 bool の右辺値に変換できます。 ゼロ、ヌル・ポインター、またはヌル・メンバー・ポインター値は、false に変換されます。 他のすべての値は、true に変換されます。

次にブール変換ステートメントを示します。

void f(int* a, int b)
{
  bool d = a;  // false if a == NULL
  bool e = b;  // false if b == 0
}

a がヌル・ポインターに等しい場合、変数 dfalse になります。 そうでない場合には、dtrue になります。 b がゼロに等しい場合、変数 efalse になります。 そうでない場合には、etrue になります。

関連参照

IBM Copyright 2003