Revisamos de forma exhaustivamente cada una de las reseñas de nuestro sitio web con el objetivo de enseñarte en todo momento información más veraz y certera.
Solución:
i++:
- crear una copia temporal de i
- incremento yo
- devolver la copia temporal
++yo:
- incremento yo
- vuelvo yo
Con las optimizaciones activadas, es muy posible que el ensamblaje resultante sea idéntico; sin embargo, ++i es más eficiente.
editar: tenga en cuenta que en C ++, puedo ser cualquier objeto que admita el prefix y postfijo ++ operador. Para objetos complejos, el costo de la copia temporal no es despreciable.
Buscaría en otra parte el potencial de optimización.
La eficiencia no debería ser su preocupación: es significado. los dos son no lo mismo, a menos que sean independientes: uno opera antes del uso del valor, el otro post.
ent yo; yo = 1; cout << i++; //Devuelve 1
ent yo; yo = 1; cout << ++i; //Devuelve 2
Cuando el significado no es importante, la mayoría de los compiladores traducirán tanto ++i como i++ (por ejemplo, en un bucle for) al mismo código de máquina/VM.
Sección de Reseñas y Valoraciones
Nos encantaría que puedieras dar difusión a esta crónica si te valió la pena.