Compartir a través de


AND lógico operador: &&

expression && expression

Comentarios

El operador lógico AND (&&) devuelve el valor booleano true si ambos operandos son true y devuelve false.Los operandos se convierten implícitamente para escribir bool antes de evaluación, y el resultado es de boolescrito.AND lógico tiene asociatividad de izquierda a derecha.

Los operandos del operador lógico AND no necesitan ser del mismo tipo, pero deben ser entero o de puntero.Los operandos son normalmente expresiones relacional o de igualdad.

El primer operando se evalúa completamente y todos los efectos secundarios se completa antes de continuar la evaluación de la expresión lógica AND.

Se evalúa el segundo operando sólo si el primer operando se evalúa como true (cero).Esta evaluación elimina la evaluación innecesaria del segundo operando cuando la expresión lógica AND es false.Puede utilizar esta evaluación de cortocircuito para evitar el puntero NULL el desreferenciar, como se muestra en el ejemplo siguiente:

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

Si pch es null (0), el lado derecho de la expresión no se evalúa.Por consiguiente, la asignación a través de un puntero nulo es imposible.

Palabra clave operator para el &&

Y operador es el equivalente de texto de &&.Hay dos maneras de tener acceso al operador de Y en programas: incluya el archivo de encabezado iso646.h, o compile con la opción del compilador /Za (extensiones de lenguaje de deshabilitar la).

Ejemplo

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

Vea también

Referencia

Operadores lógicos de C++

Operadores de C++

Operador Prioridad y Asociatividad

Operadores lógicos de C