Condividi tramite


Operatore AND logico: &&

expression && expression

Note

l'operatore AND logico (&&) restituisce il valore booleano true se entrambi gli operandi sono true e restituisce false in caso contrario.Gli operandi in modo implicito vengono convertiti nel tipo bool prima valutazione e il risultato è di tipo bool.Logici AND presenta un'associatività da sinistra a destra.

Gli operandioperatore AND logico non devono essere dello stesso tipo, ma devono essere dell'integrale o di tipo puntatore.gli operandi sono comunemente espressioni di uguaglianza o relazionali.

Il primo operando completamente viene valutato e tutti gli effetti collaterali vengono completati prima di procedere con la valutazione dell'operazione di AND logico dell'espressione.

Il secondo operando viene valutato solo se il primo operando restituisce true (diverso da zero).Questa valutazione elimina la valutazione non necessario del secondo operando quando il AND logico l'espressione sono false.È possibile utilizzare questa valutazione short circuit per impedire il puntatore null dereferenziare, come illustrato nell'esempio seguente:

char *pch = 0;
...
(pch) && (*pch = 'a');

se pch è null (0), il lato destro dell'espressione non viene mai valutato.Di conseguenza, l'assegnazione tramite un puntatore null è possibile.

Parola chiave operator per &&

e l'operatore è l'equivalente di testo di &&.Esistono due modi per accedere a e operatore nei programmi: includere il file di intestazione iso646.h, o con. /Za (Disabilita le estensioni del linguaggio) opzione del compilatore.

Esempio

// expre_Logical_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate logical AND
#include <iostream>

using namespace std;

int main() {
   int a = 5, b = 10, c = 15;
   cout  << boolalpha
         << "The true expression "
         << "a < b && b < c yields "
         << (a < b && b < c) << endl
         << "The false expression "
         << "a > b && b < c yields "
         << (a > b && b < c) << endl;
}

Vedere anche

Riferimenti

Operatori logici C++

Operatori di C++

Precedenza e associatività di operatore

Operatori logici c