bool (C++)
Toto klíčové slovo je vestavěný typ.Proměnné tohoto typu může nabývat hodnot true a false.Podmíněné výrazy mají typ bool a tak mají hodnoty typu bool.Například i!=0 má nyní true nebo false v závislosti na hodnotě i.
Hodnoty true a false mají následující vztah:
!false == true
!true == false
V následujícím příkazu:
if (condexpr1) statement1;
Pokud condexpr1 je true, statement1 je vždy spuštěn; Pokud condexpr1 je false, statement1 nikdy provedeny.
Příponové nebo předponu ++ operátor je použita proměnná typu bool, je proměnná nastavena true.Příponové nebo předponu -- operátor nelze použít u tohoto typu proměnné.
bool Typu účastní nedílnou propagační akce.Hodnota typu bool lze převést na hodnota typu int, s false stávají nula a true becoming jedna.Jako odlišný typ bool účastní řešení přetížení.
Konkrétní společnosti Microsoft
V aplikaci Visual C ++ 4.2 Standard C++ záhlaví souborů uložených typedef , odpovídající bool s int.Visual C++ 5.0 a novější bool je implementován jako předdefinovaný typ velikosti 1 bajt.To znamená, že pro Visual C++ 4.2, volání z sizeof(bool) výnosů 4, zatímco Visual C++ 5.0 a novější, stejné výnosů volání 1.To může způsobit paměti k problémům poškození Pokud jste definovali členů struktury typu bool v Visual C++ 4.2 a jsou míchání objektu (OBJ) souborů nebo knihoven DLL integrována s kompilátory 4.2 a 5.0 nebo novější.
__BOOL_DEFINED zalomení kód, který je závislý na tom, zda lze použít makro bool je podporována.
Příklad
// 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
}