3.3. Introducción a los operadores

Se pueden ver los operadores como un tipo especial de función (aprenderá que en C++ la sobrecarga de operadores los trata precisamente de esa forma). Un operador recibe uno o más argumentos y produce un nuevo valor. Los argumentos se pasan de una manera diferente que en las llamadas a funciones normales, pero el efecto es el mismo.

Por su experiencia previa en programación, debe estar razonablemente cómodo con los operadores que se han utilizados. Los conceptos de adición (+), substracción y resta unaria (-), multiplicación (*), división (/), y asignación (=) tienen todos el mismo significado en cualquier lenguaje de programación. El grupo completo de operadores se enumera más adelante en este capítulo.

3.3.1. Precedencia

La precedencia de operadores define el orden en el que se evalúa una expresión con varios operadores diferentes. C y C++ tienen reglas específicas para determinar el orden de evaluación. Lo más fácil de recordar es que la multiplicación y la división se ejecutan antes que la suma y la resta. Luego, si una expresión no es transparente al programador que la escribe, probablemente tampoco lo será para nadie que lea el código, de modo que se deben usar paréntesis para hacer explícito el orden de la evaluación. Por ejemplo:

A = X + Y - 2/2 + Z;

Tiene un significado muy distinto de la misma expresión pero con un configuración de paréntesis particular:

A = X + (Y - 2)/(2 + Z);

(Intente evaluar el resultado con X =1, Y = 2, y Z = 3.)