Tengo una pregunta simple que estoy planteando principalmente para mi curiosidad.¿Diferencia de rendimiento en las condiciones de bucle?
¿Cuáles son las diferencias entre estas dos líneas de código? (En C++)
for(int i = 0; i < N, N > 0; i++)
for(int i = 0; i < N && N > 0; i++)
La selección de las condiciones es completamente arbitraria, sólo estoy interesado en las diferencias entre, y & &.
No soy un principiante para la codificación de ninguna manera, pero nunca me he molestado con el operador de coma.
¿Hay diferencias de rendimiento/comportamiento o es puramente estético?
Una última nota, sé que hay peces de mayor rendimiento para freír que un operador condicional, pero solo tengo curiosidad. Complaceme.
Editar Gracias por la respuesta.
Resulta que el código que provocó esta pregunta había utilizado incorrectamente al operador de coma en la forma que he descrito. Me preguntaba cuál era la diferencia y por qué no era un operador & &, pero se escribió incorrectamente. No pensé que algo andaba mal porque funcionó bien. Gracias por enderezarme.
¿Por qué le preocupa el rendimiento? En el tiempo que lleva obtener una respuesta a esta pregunta, los 9 nanosegundos que habría ahorrado utilizando una u otra notación ya estarían perdidos. "La optimización prematura es la raíz de todo mal ..." – Juliet
No dijo que estaba preocupado, solo curiosidad. Realmente me gustaría que la gente dejara de ondear la bandera de "optimización prematura" cada vez que alguien "solo quiere saber". La curiosidad es una * buena cosa *. –
Me pregunto cuánto tiempo se ahorraría si SO implementara un filtro que, cada vez que alguien menciona las palabras "rendimiento" o "más rápido" en una pregunta, simplemente publique automáticamente un comentario diciendo: "no se le permite pensar en eso, ciudadano, ahora vuelve al trabajo ";-) –