변수를 다른 변수 나 표현식에 바인딩하는 IMHO는 수학에서 매우 일반적인 시나리오입니다. 사실, 많은 학생들은 처음에 할당 연산자 (=)가 일종의 구속력이 있다고 생각합니다. 그러나 대부분의 언어에서 바인딩은 기본 기능으로 지원되지 않습니다. C #과 같은 일부 언어에서는 일부 조건이 충족되는 경우 바인딩이 지원됩니다.
그러나 IMHO를 이것을 기본 기능으로 구현하는 것은 다음 코드를 변경하는 것만 큼 간단했습니다.
int a,b,sum;
sum := a + b;
a = 10;
b = 20;
a++;
이에-
int a,b,sum;
a = 10;
sum = a + b;
b = 20;
sum = a + b;
a++;
sum = a + b;
모든 명령어가 오른쪽에있는 표현식에 포함 된 변수의 값을 변경 한 후 바인딩 명령어를 할당으로 배치하는 것을 의미합니다. 그런 다음 중복 명령어 트리밍 (또는 컴파일 후 어셈블리 최적화)이 수행됩니다.
따라서 대부분의 언어에서 기본적으로 지원되지 않는 이유는 무엇입니까? 특히 C 언어 군에서?
최신 정보:
다른 의견으로는이 제안 된 "바인딩"을보다 정확하게 정의해야한다고 생각합니다.
- 이것은 단방향 바인딩입니다. 합계 만 a + b에 바인딩되며 그 반대도 마찬가지입니다.
- 바인딩 범위는 로컬입니다.
- 바인딩이 설정되면 변경할 수 없습니다. 즉, 일단 합이 a + b에 바인딩되면 합은 항상 a + b가됩니다.
아이디어가 더 명확 해지기를 바랍니다.
업데이트 2 :