En mi humilde opinión, vincular una variable a otra variable o una expresión es un escenario muy común en matemáticas. De hecho, al principio, muchos estudiantes piensan que el operador de asignación (=) es algún tipo de enlace. Pero en la mayoría de los idiomas, el enlace no es compatible como una característica nativa. En algunos lenguajes como C #, el enlace es compatible en algunos casos con algunas condiciones cumplidas.
Pero en mi humilde opinión, implementar esto como una característica nativa fue tan simple como cambiar el siguiente código:
int a,b,sum;
sum := a + b;
a = 10;
b = 20;
a++;
a esto-
int a,b,sum;
a = 10;
sum = a + b;
b = 20;
sum = a + b;
a++;
sum = a + b;
Significa colocar la instrucción de enlace como asignaciones después de cada instrucción que cambia los valores de cualquiera de las variables contenidas en la expresión en el lado derecho. Después de esto, se recortarán las instrucciones redundantes (u optimización en el ensamblaje después de la compilación).
Entonces, ¿por qué no se admite de forma nativa en la mayoría de los idiomas? ¿Especialmente en la familia C de lenguajes?
Actualizar:
Desde diferentes opiniones, creo que debería definir esta propuesta "vinculante" más precisamente:
- Esta es una forma vinculante. Solo la suma está vinculada a a + b, no al revés.
- El alcance del enlace es local.
- Una vez que se establece el enlace, no se puede cambiar. Es decir, una vez que la suma está vinculada a a + b, la suma siempre será a + b.
Espero que la idea sea más clara ahora.
Actualización 2:
Solo quería esta función P # . Espero que esté allí en el futuro.