bool (C++)

Esta palabra clave es un tipo integrado.una variable de este tipo puede tener valores TRUE y Falso.las expresiones condicionales tienen el tipo bool y así que tienen valores de boolescrito.Por ejemplo, i!=0 tiene ahora TRUE o Falso según el valor de i.

los valores TRUE y Falso tienen la relación siguiente:

!false == true
!true == false

En la siguiente instrucción:

if (condexpr1) statement1; 

Si condexpr1 es TRUE, statement1 siempre se ejecuta; si condexpr1 es Falso, statement1 nunca se ejecuta.

Cuando se aplican a un operador de ++ postfijo o de prefijo a una variable de boolescrita, la variable se establece en TRUE.El operador de -- postfijo o de prefijo no se puede aplicar a una variable de este tipo.

el tipo de bool participa en promociones enteras.Un r-value de bool tipo se pueda convertir en un r-value de inttipo, con Falso cero que se convierte y TRUE el desarrollo.Como un tipo distinto, bool participa en la resolución de sobrecarga.

Específicos de Microsoft

En Visual C++4.2, archivos de encabezado estándar de C++ contenían typedef que se comparaban bool con int.En Visual C++ 5,0 y versiones posteriores, se implementa bool como una cuenta integrada escrito con un tamaño de 1 byte.Eso significa que para Visual C++ 4,2, una llamada de sizeof (bool) produce 4, mientras que en Visual C++ 5,0 y versiones posteriores, la misma llamada provoca 1.Esto puede producir problemas de daños de memoria si tiene miembros de estructura definida de bool escrito en Visual C++ 4,2 y se mezclan los archivos objeto o archivos DLL compilados con los 4,2 y los 5,0 o los compiladores posteriores.

La macro de __BOOL_DEFINED se puede utilizar para ajustar el código que está dependiente activado si bool es.

Ejemplo

// 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
}
  

Vea también

Referencia

Palabras clave de C++

Tipos fundamental (C++)