c++ - usando - switch en c
¿Para qué sirve "," en la condición de bucle while c++? (1)
Esta pregunta ya tiene una respuesta aquí:
- expresión separada por comas en el ciclo while en C 5 respuestas
- ¿Cómo funciona el operador de coma? 9 respuestas
string command;
string bookName;
while (cin >> command, command != "END")
{...}
Aquí en la condición del ciclo while, hay una coma. Sé que se pueden agregar varias condiciones usando && o || .
Pero , ¿por qué usar,?
¿Hay ciertos beneficios? ¿Puedes explicar el uso y la sintaxis?
Es el operador de coma, también conocido como el operador de "evaluar y olvidar". El efecto de a, b es:
- Evaluar
a, incluidos los efectos secundarios - Descartar su valor (es decir, no hacer nada con eso)
- Evaluar
b - Usa el resultado de
bcomo el resultado de toda la expresióna, b
El autor del ciclo quería expresar lo siguiente:
Lea el
commanddecin, y luego ingrese el cuerpo del bucle a menos que elcommandsea igual a"END"
Sin embargo, les hubiera sido mejor usar && lugar de , aquí, porque el cin >> command puede fallar (es decir, si se llega al final de la entrada antes de que se encuentre la palabra END ). En tal caso, la condición con , no hará lo que se pretendía (probablemente repetirá siempre, ya que el command nunca recibirá el valor END ), mientras que la condición con && haría lo correcto (terminar).