significa - Operadores de incremento/decremento pre y post en C#
para que sirve++ en c++ (4)
En C #, ¿alguien sabe por qué se compilará lo siguiente?
int i = 1;
++i;
i++;
pero esto no compilará?
int i = 1;
++i++;
(Error del compilador: el operando de un operador de incremento o decremento debe ser una variable, propiedad o indizador).
Mi suposición sería que ++ i devuelve un tipo de valor entero, al cual intentas aplicar el operador ++. Al ver que no puede escribir en un tipo de valor (piense en 0 ++ y si eso tuviera sentido), el compilador emitirá un error.
En otras palabras, esas declaraciones se analizan como esta secuencia:
++i (i = 2, returns 2)
2++ (nothing can happen here, because you can''t write a value back into ''2'')
Mi suposición: evitar tales constructos feos e innecesarios. También usaría 2 operaciones (2x INC) en lugar de una (1x ADD 2).
Sí, lo sé ... "pero quiero aumentar en dos y ¡soy un l33t g33k!"
Bueno, no seas un friki y escribe algo que no parezca un error inadvertido, como este:
i += 2;
Por la misma razón, no puedes decir
5++;
o
f(i)++;
Una función devuelve un valor , no una variable. Los operadores de incremento también devuelven valores, pero no se pueden aplicar a los valores.
está ejecutando uno de los operandos en el resultado del otro, el resultado de un incremento / decremento es un valor, y no puede usar incrementos / disminuciones en un valor que tiene que ser una variable que se puede establecer.