3.7. Los operadores y su uso

Esta sección cubre todos los operadores de C y C++.

Todos los operadores producen un valor a partir de sus operandos. Esta operación se efectúa sin modificar los operandos, excepto con los operadores de asignación, incremento y decremento. El hecho de modificar un operando se denomina efecto lateral. El uso más común de los operadores que modifican sus operandos es producir el efecto lateral, pero se debería tener en cuenta que el valor producido está disponible para su uso al igual que el de los operadores sin efectos laterales.

3.7.1. Asignación

La asignación se realiza mediante el operador =. Eso significa «Toma el valor de la derecha (a menudo llamado valor derecho) y cópialo en la variable de la izquierda (a menudo llamada valor izquierdo).»[44] Un valor derecho es cualquier constante, variable o expresión que pueda producir un valor, pero un valor izquierdo debe ser una variable con un nombre distintivo y único (esto quiere decir que debe haber un espacio físico donde guardar la información). Por ejemplo, se puede asignar el valor de una constante a una variable (A = 4;), pero no se puede asignar nada a una constante - es decir, una constante no puede ser un valor izquierdo (no se puede escribir 4 = A;).



[44] (N. del T.) En inglés, rvalue y lvalue, abreviaturas de right value y left value. El nombre alude al lado de la asignación en el que puede aparecer cada uno: un valor izquierdo designa un lugar de la memoria en el que se puede escribir, y por eso puede estar a la izquierda del operador =; un valor derecho es sólo un valor, y únicamente puede estar a la derecha. Los textos técnicos en castellano usan a menudo los términos ingleses.