Introducción a los operadores ++ y -- en lenguajes de programación

Introducción a los operadores ++ y -- en lenguajes de programación

++ y -- son los operadores de incremento automático (agregar uno) y decremento automático (menos uno) en lenguajes de programación (C/C++, JavaScript, Java). Se pueden aplicar a variables y vienen en forma de prefijo y sufijo.

Forma de prefijo:

++variable: incrementa el valor de una variable en uno y devuelve el nuevo valor.

--variable: Disminuye el valor de la variable en uno y devuelve el nuevo valor.

Forma de sufijo:

variable ++: devuelve el valor de la variable y luego agrega uno a la variable.

variable--: Devuelve el valor de la variable y luego disminuye la variable en uno.

Tanto el prefijo como el sufijo tienen el mismo efecto sobre sí mismos, ambos suman 1 o restan 1 (es decir: ++i e i++ ambos representan i=i+1). Pero cuando se usan como parte de otras expresiones, existe una diferencia entre ambas. Por ejemplo:
tipo de prefijo: j = ++i significa operar primero y luego asignar.
Sufijo: j = i++ significa primero asignación, luego operación.

No hay operadores ++ y -- en Python; en su lugar, += y -= se utilizan para lograr una funcionalidad similar. Por ejemplo:

yo = 0

i += 1 # Equivalente a i++

i -= 1 # Equivalente a i—

A continuación se utiliza C/C++ como ejemplo para presentar el uso y las precauciones de los operadores ++ y -- .

Los operadores ++ y -- se pueden utilizar de dos formas: forma de prefijo y forma de postfijo:

La forma de prefijo (como ++i, --i) indica que la operación de incremento/disminución automática se realiza primero y luego se utiliza el valor de la variable. La forma de sufijo (como i++, i--) indica que primero se usa el valor de la variable y luego se realiza la operación de autoincremento/decremento.

En C++, el operador de autoincremento ++ y el operador de autodecremento --, como declaraciones independientes (no se requieren otras operaciones):
x++;
y
++x;
tienen el mismo efecto y se pueden usar indistintamente.
x--;
y
--x;
tienen el mismo efecto y pueden usarse indistintamente.
Cuando se usan como parte de otras expresiones, hay una diferencia entre las dos y el efecto es diferente. Tales como:
cout << x++;
y
cout << ++x;
tienen efectos diferentes.

Los siguientes ejemplos explican:

(1)intyo = 0;

cout<< ++i; y cout << i++;

Análisis: "cout << ++i;" usa el preoperador, primero aumenta i en 1 y luego genera su valor; mientras que "cout << i++;" usa el postoperador, primero genera el valor actual de i y luego aumentar i en 1.

A continuación se ofrece un ejemplo simple pero completo:

#include <iostream>
using namespace std;

int main() {
	int i=0;
    cout << ++i << endl;   // 输出1。先将i增加到1,然后再输出它的值。
    cout << ++i << endl;   // 输出2。
    int j=0;
    cout << j++ << endl;   // 输出0。先输出j的当前值0,然后再将j增加到1。
}

(2)for(int k = 0; k<=10; k++) y for(int k = 0; k<=10; ++k)

Análisis: El número de ciclos de ambos es el mismo.

Para resumir:

Tanto el prefijo como el sufijo tienen el mismo efecto sobre sí mismos, ambos suman 1 o restan 1 (es decir: ++i e i++ ambos representan i=i+1). Pero cuando se usan como parte de otras expresiones, existe una diferencia entre ambas. Por ejemplo:
tipo de prefijo: j = ++i significa operar primero y luego asignar.
Sufijo: j = i++ significa primero asignación, luego operación.

Supongo que te gusta

Origin blog.csdn.net/cnds123/article/details/132376429
Recomendado
Clasificación