È possibile combinare espressioni booleane con un separatore di virgola. L'ho visto in un codice e non sono sicuro di cosa questo risolva. Ho scritto un codice di esempio.Qual è l'output di "cout << (a, b)" e perché?
int BoolStatement(void)
{
using std::cout;
using std::endl;
cout << "(0, 0) => " << (0, 0) << endl;
cout << "(0, 1) => " << (0, 1) << endl;
cout << "(1, 0) => " << (1, 0) << endl;
cout << "(1, 1) => " << (1, 1) << endl;
cout << "(0, 0) => " << (0, 0) << endl;
cout << "(0, 3) => " << (0, 3) << endl;
cout << "(5, 0) => " << (5, 0) << endl;
cout << "(7, 1) => " << (7, 1) << endl;
cout << endl;
return 0;
}
L'output di questo è:
(0, 0) => 0
(0, 1) => 1
(1, 0) => 0
(1, 1) => 1
(0, 0) => 0
(0, 3) => 3
(5, 0) => 0
(7, 1) => 1
Non sono sicuro se questo è vero solo per il mio sistema e se questa chiamata è in realtà la stessa come una combinazione booleana di dichiarazioni.
Qual è l'output, è lo stesso su tutti i sistemi? Perché questa affermazione è possibile e c'è documentazione?
Quali espressioni boolearie stai combinando? '0',' 1', '3', ecc. Sono numeri interi, non booleani. – Barmar
@Barmar I implica l'uso di interi come booleani dove 0 è falso e! 0 è vero. Ma guardando le risposte hai ragione - questo non ha niente a che fare con i booleani. – Johannes