operator online c++ operator-precedence

c++ - online - operator precedence java



La salida de cout<< 1 && 0; (1)

No entiendo por qué se imprime el siguiente código 1 .

1 && 0 no es lo mismo que true && false -> false ?

¿Por qué esto no imprime 0 ?

#include <iostream> using namespace std; int main(){ cout << 1 && 0; return 0; }


Se trata de la precedencia del operador .

El operator<<(std::basic_ostream) Operador de cambio a la izquierda de Bitwise sobrecargado operator<<(std::basic_ostream) tiene una prioridad más alta que el operador lógico Y del operador && .

#include <iostream> int main() { std::cout << (1 && 0); return 0; }

Si no está seguro al 146% de la prioridad de un operador, no dude en utilizar corchetes. La mayoría de los IDE modernos le dirán si no necesita usarlos.