Condividi tramite


bool (C++)

questa parola chiave è un tipo incorporato.una variabile di questo tipo può avere valori true e false.Le espressioni condizionali dispongono del tipo bool e pertanto contenere valori di tipo bool.Ad esempio, i!=0 include ora true o false a seconda del valore di i.

i valori true e false includere la seguente relazione:

!false == true
!true == false

La seguente istruzione:

if (condexpr1) statement1; 

se condexpr1 viene true, statement1 è sempre eseguiti; se condexpr1 viene false, statement1 non verrà mai eseguito.

quando un suffisso o un prefisso ++ l'operatore viene applicato a una variabile di tipo bool, la variabile è impostata su true.il suffisso o il prefisso -- l'operatore non può essere applicato a una variabile di questo tipo.

bool il tipo partecipa alle promozioni integrali.Un r-value di tipo bool può essere convertito in un r-value di tipo intcon, false diventare zero e true diventare uno.Come tipo diverso, bool contribuisce alla risoluzione dell'overload.

Specifici di Microsoft

Nella rappresentazione C++4.2, i file di intestazione C++ standard contengono un oggetto typedef tale uguagliato bool con int.In Visual C++ 5,0 e versioni successive, bool viene implementato come tipo incorporato con una dimensione di 1 byte.Ciò significa che per Visual C++ 4,2, una chiamata a sizeof (bool) rende a 4, mentre in Visual C++ 5,0 e versioni successive, gli stessi conterrà 1. di chiamata.Questa situazione può provocare problemi di danneggiamento della memoria se si dispone di membri della struttura definiti di tipo bool in Visual C++ 4,2 e combinano i file oggetto (OBJ) e/o DLL compilati con i 4,2 e le 5,0 o i compilatori successivi.

__BOOL_DEFINED la macro può essere utilizzata per eseguire il wrapping del codice che dipende da a bool è supportato.

Esempio

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

Vedere anche

Riferimenti

Parole chiave C++

Tipi di base (C++)