BOOL (C++)
Słowo kluczowe this jest typem wbudowanym.Zmienna tego typu może mieć wartości true i false.Wyrażenia warunkowe jest typ bool , a zatem mają wartości typu bool.Na przykład i!=0 ma teraz true lub false w zależności od wartości i.
Wartości true i false mają następującą zależność:
!false == true
!true == false
W następującej instrukcji:
if (condexpr1) statement1;
Jeśli condexpr1 jest true, statement1 jest zawsze wykonywana; Jeśli condexpr1 jest false, statement1 nigdy nie została wykonana.
Gdy przyrostkowe lub prefiks ++ operator jest stosowane do zmiennej typu bool, zmienna jest ustawiana true.Przyrostkowe lub prefiks -- operatora nie można zastosować do zmiennych tego typu.
bool Typu bierze udział w promocjach integralną.Wartość typu bool mogą być konwertowane na wartość typu int, z false staje się zero i true staje się jeden.Jako typ samodzielny bool uczestniczy w rezolucji przeciążenie.
Programu Microsoft
W Visual C ++ 4.2, pliki nagłówków Standard C++ zawarte typedef , w postaci bool z int.Visual C++ 5.0 i nowszych bool jest zaimplementowany jako wbudowany typ o rozmiarze 1 bajt.Oznacza to, że dla Visual C++ 4.2, wywołanie z sizeof(bool) plonów 4, podczas Visual C++ 5.0 i nowszych, tym samym plonów wywołanie 1.Może to spowodować pamięci korupcji problemy, jeśli zostały zdefiniowane elementy struktury typu bool w Visual C++ 4.2 i są obiektu mieszania plików (OBJ) lub bibliotek DLL zbudowany z kompilatorów 4.2 i 5.0 lub nowszej.
__BOOL_DEFINED makr może służyć do zawijania kod, który jest zależny od czy nie bool jest obsługiwany.
Przykład
// 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
}