C + + n'a pas les opérateurs arithmétiques comme l'addition et la multiplication définie pour le type Bool . Ces opérations fonctionnent toujours grâce à un processus connu sous le nom promotion intégrale . La même fonctionnalité qui convertit automatiquement les octets à ints et ints de longs lorsque cela est nécessaire également de convertir un Bool à un int . Pour cette raison , les valeurs booléennes peuvent être exploités sur arithmétiquement de la même façon que les types intégraux . Instructions
1
convertir les valeurs booléennes à des entiers , en utilisant 0 pour faux et 1 pour vrai : "b * = true false" devient " . B = 1 * 0"
2
évaluer l'expression entière en multipliant les valeurs: " b = 1 * 0 " devient " . b = 0"
3
Convertir le résultat à une valeur booléenne. Zéro est faux, et tout ce qui est vrai. En fonction de votre compilateur et les paramètres , cette conversion peut générer un avertissement . Convertir comme suit: « b = 0 " devient " . B = false"