October 22
C ++ non ha gli operatori aritmetici come l'addizione e la moltiplicazione definito per il tipo Bool. Queste operazioni continuano a lavorare a causa di un processo noto come promozione integrale. La stessa funzione che converte automaticamente i byte di interi e interi per anela quando necessario sarà anche convertire un bool a int. Per questo motivo, i valori booleani possono funzionare aritmeticamente nello stesso modo come i tipi integrali.
1 Convertire i valori booleani per interi, usando 0 per falso e 1 per vero: "b = true
false" diventa "b = 1 0"
2 Valutare l'espressione intera moltiplicando i valori: "b = 1 * 0" diventa "b = 0."
3 Convertire il risultato di nuovo in un valore booleano. Zero è falso, e qualsiasi altra cosa è vera. A seconda del compilatore e le impostazioni, questa conversione può generare un messaggio di avviso. Convertire come: "b = 0" diventa "b = false."