Udostępnij za pośrednictwem


Logiczny Operator I: & &

expression && expression

Uwagi

Operator logiczny I (& &) zwraca wartość boolean true Jeśli oba operandy są true i zwraca false inaczej.Operandy są niejawnie konwertowane typu bool przed ich oceny, a wynik jest typu bool.Logiczne i ma łączność od lewej do prawej.

Operandy do operatora logicznego i nie muszą być tego samego typu, ale muszą być typu Całka lub wskaźnik.Operandy są powszechnie relacyjnej lub równości wyrażeń.

Pierwszy operand jest całkowicie ocenione i wszystkie efekty uboczne są wypełnione przed kontynuowaniem oceny wyrażenia logicznego I.

Drugi operand jest oceniane tylko wtedy, gdy pierwszy argument zwraca wartość true (niezerowej).Ocena ta eliminuje niepotrzebnej oceny drugi operand, gdy wyrażenie logiczne i ma wartość false.Można tu zwarcie oceny mającej na celu zapobieganie, cofając wskaźnik null, jak pokazano w następującym przykładzie:

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

Jeśli pch jest zerowy (0), z prawej strony wyrażenie nigdy nie jest oceniany.W związku z tym niemożliwe jest przypisanie poprzez wskaźnik zerowy.

Słowo kluczowe operatora & &

i operator jest równoważny tekst & &.Istnieją dwa sposoby dostępu do i operatora w programach: dołączyć plik nagłówkowy iso646.h, lub skompilować z /Za opcję kompilatora (Wyłącz rozszerzenia języka).

Przykład

// 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;
}

Zobacz też

Informacje

Operatory logiczne języka C++

Operatory języka C++

Priorytet i łączność operatorów

C operatory logiczne