Operadores De Incremento Y Decremento

      Operadores De Incremento Y Decremento.




El operador de incremento aumenta el valor de su operando en 1. El operando debe ser un tipo de dato aritmético o puntero, y debe hacer referencia a un objeto modificable. Similar mente, el operador de decremento disminuye el valor de su operando en 1. El valor de los punteros se incrementa (o disminuye) por una cantidad que hace que apunte al siguiente (o anterior) elemento adyacente en memoria.
En lenguajes que admiten ambas versiones de los operadores, los operadores de pre-incremento y pre-decremento aumentan (o disminuyen) sus operan dos en 1, y el valor de la expresión es el resultado del incremento (o decremento). En contraste, los operadores de pos-incremento y post-decremento incrementan (o decrementan) el valor de sus operados en 1, pero el valor de la expresión es el valor original de su operando antes del incremento (o decremento). En lenguajes donde el incremento/decremento no es una expresión , sólo se necesita una versión (en el caso de , solo post operadores).
Dado que el operador de incremento/decremento modifica su operando, el uso de más de una vez dentro de la misma expresión puede producir resultados no definidos. Por ejemplo, en expresiones tales como x - --x, no está claro en qué orden se deben realizar la resta y el operador de incremento. Situaciones como esta son aun peores cuando se aplican optimizaciones por el compilador, lo que podría dar lugar a un orden de ejecución de operaciones diferente de lo que pretende el programador.
Los siguientes fragmentos de código ilustran las diferencias entre operadores de pre y post incremento/decremento:
int  x;
int  y;

// Operadores de incremento
x = 1;
y = ++x;    // x es ahora 2, y es también 2
y = x++;    // x es ahora 3, y es 2

// Operadores de decremento
x = 3;
y = x--;    // x es ahora 2, y es 3
y = --x;    // x es ahora 1, y es también 1

Comentarios

Entradas más populares de este blog

Matrices

Programación Orientada a Objetos

Arreglos