> 백엔드 개발 > C++ > C 참조를 재설정할 수 없는 이유는 무엇입니까?

C 참조를 재설정할 수 없는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-30 20:02:19
원래의
962명이 탐색했습니다.

Why Can't C   References Be Reset?

C의 참조가 재설정 가능하지 않은 이유

C 참조는 포인터와 달리 두 가지 기본 특성을 고수합니다. 항상 동일한 객체를 참조해야 합니다. null일 수 없습니다. 포인터는 다양한 개체를 가리키는 유연성을 제공하고 null로 설정될 수 있지만 C에는 "null을 허용하지 않고 재위치할 수 있는 참조 또는 포인터"라는 개념이 없습니다. 이는 참조를 재설정할 수 없는 이유에 대한 의문을 제기합니다.

Felix Nievelstein은 처음에 개체 간의 연결이 유효한지 확인하기 위해 참조를 사용하는 것을 강조하면서 이 질문을 제기했습니다. 그러나 C의 디자이너인 Bjarne Stroustrup에 따르면 참조 불변성의 주된 이유는 잠재적인 모호함과 오류를 피하기 위한 것입니다.

Stroustrup의 말에 따르면 "과거에는 r1=r2인 Algol68 참조에 물린 경우 r1을 통해 참조된 개체에 할당하거나 r1에 새 참조 값을 할당할 수 있습니다. (r1 재바인딩) r2 유형에 따라 C에서 이러한 문제를 피하고 싶었습니다."

참조 리바인딩을 금지함으로써 C는 참조의 대상 객체를 실수로 변경하는 위험과 불확실성을 제거하는 것을 목표로 합니다. 이러한 디자인 결정은 참조가 동일한 객체를 일관되게 가리키도록 보장하여 예상치 못한 결과를 방지하고 프로그램 정확성을 유지합니다.

위 내용은 C 참조를 재설정할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿