C의 참조가 재설정 가능하지 않은 이유
C 참조는 포인터와 달리 두 가지 기본 특성을 고수합니다. 항상 동일한 객체를 참조해야 합니다. null일 수 없습니다. 포인터는 다양한 개체를 가리키는 유연성을 제공하고 null로 설정될 수 있지만 C에는 "null을 허용하지 않고 재위치할 수 있는 참조 또는 포인터"라는 개념이 없습니다. 이는 참조를 재설정할 수 없는 이유에 대한 의문을 제기합니다.
Felix Nievelstein은 처음에 개체 간의 연결이 유효한지 확인하기 위해 참조를 사용하는 것을 강조하면서 이 질문을 제기했습니다. 그러나 C의 디자이너인 Bjarne Stroustrup에 따르면 참조 불변성의 주된 이유는 잠재적인 모호함과 오류를 피하기 위한 것입니다.
Stroustrup의 말에 따르면 "과거에는 r1=r2인 Algol68 참조에 물린 경우 r1을 통해 참조된 개체에 할당하거나 r1에 새 참조 값을 할당할 수 있습니다. (r1 재바인딩) r2 유형에 따라 C에서 이러한 문제를 피하고 싶었습니다."
참조 리바인딩을 금지함으로써 C는 참조의 대상 객체를 실수로 변경하는 위험과 불확실성을 제거하는 것을 목표로 합니다. 이러한 디자인 결정은 참조가 동일한 객체를 일관되게 가리키도록 보장하여 예상치 못한 결과를 방지하고 프로그램 정확성을 유지합니다.
위 내용은 C 참조를 재설정할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!