Operadores de asignación

C dispone de varios operadores de asignación para la abreviatura de las expresiones de asignación. Por ejemplo, el enunciado

c = c + 3;

puede ser abreviado utilizando el operador de asignación += como 

c += 3;

El operador += añade el valor de la expresión, a la derecha del operador, al valor de la variable a la izquierda del operador, y almacena el resultado en la variable a la izquierda del operador. Cualquier enunciado de la forma

variable = variable operador expresión;

donde operador es uno de los operadores binarios +, -, *, / o %, pueden ser escritos de la forma

variable operador = expresión;

Por lo tanto la asignación c += 3 añade 3 a c. En la tabla siguiente aparecen los operadores de asignación aritméticos, con expresiones de muestra utilizando estos operadores y con explicaciones.

Asumir: int c = 3, d = 5, e = 4, f = 6, g = 12;

Operador de asiganción Expresión de muestra Explicación Asignación
+=
-=
*=
/=
%=
c += 7
d -= 4
e *= 5
f /= 3
g %= 9
c = c + 7
d = d - 4
e = e * 5
f = f / 3
g = g % 9
10 a c
1 a d
20 a e
2 a f
3 a g

Sugerencia

Una expresión con un operador de asignación (como en c += 3) se compila más aprisa que la expresión equivalente expandida (c = c + 3) porque en la primera expresión c se evalúa únicamente una vez, en tanto que en la segunda se evalúa dos veces.

Sugerencia

Muchas de las sugerencias que mencionamos en este texto dan como resultado mejoras nominales, por lo que el lector pudiera estar tentado a ignorarlos. El hecho es que el efecto acumulativo de todas estas mejoras de rendimiento pueden hacer que un programa ejecute en forma significativamente más rápida. Además, se obtiene una mejora significativa cuando una mejora, supuestamente sólo nominal, es introducida en un ciclo que pudiera repetirse un gran número de veces.

No hay comentarios:

Publicar un comentario