Recientemente encontré un código donde se usa la palabra clave y que funciona como &&. Entonces, ¿son ambos iguales o existe alguna condición específica para usarlo?

4
S_coderX451 12 jul. 2021 a las 12:29

6 respuestas

La mejor respuesta

El estándar C ++ permite que el token && se use indistintamente con el token and.

No todos los compiladores implementan esto correctamente (algunos no se molestan en absoluto; otros requieren la inclusión de un encabezado especial). Como tal, el código que usa and puede considerarse idiosincrásico.

El hecho de que la equivalencia esté en el token, en lugar del nivel del operador , significa que desde C ++ 11 (donde el lenguaje adquirió la notación de referencia rvalue), puede organizar las cosas (sin recurrir a la preprocesador) de modo que la declaración

int and _int(string and vector);

Es un prototipo de función válido. (Es equivalente a int&& _int(string&& vector)).

2
Bathsheba 12 jul. 2021 a las 10:03

El operador and es una alternativa al operador &&.

-1
Jarod42 12 jul. 2021 a las 09:47

¿Cuál es la diferencia entre "y" y "&&" en c ++

La principal diferencia es que and no usa el carácter &.

De lo contrario, no hay diferencia.

¿Existe alguna condición específica para usarlo?

Junto con otros tokens alternativos como los dígrafos, existe para permitir la escritura de programas en sistemas exóticos con codificación de caracteres (como BCD o ISO 646) que no tienen los símbolos especiales como &.

A menos que esté escribiendo en dicho sistema donde es necesario usar tokens alternativos, convencionalmente no debería usarlos.

0
eerorika 12 jul. 2021 a las 11:23

No hay nada diferente en and y &&

El operador y es una representación alternativa del operador && (Y binario o lógico).

Puedes ver el artículo completo aquí -

http://docwiki.embarcadero.com/RADStudio/Sydney/en/And

0
Jarod42 12 jul. 2021 a las 09:35

Ninguna diferencia. and es solo un nombre alternativo para &&.

Consulte https://en.cppreference.com/w/cpp/keyword/and.

2
Jarod42 12 jul. 2021 a las 09:34

Como se puede ver aquí, son lo mismo.

2
Silidrone 12 jul. 2021 a las 09:30