>백엔드 개발 >C++ >왜 `this`는 C에서 참조가 아닌 포인터입니까?

왜 `this`는 C에서 참조가 아닌 포인터입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-24 10:18:11504검색

Why Is `this` a Pointer and Not a Reference in C  ?

왜 'this'는 참조가 아니라 포인터인가요?

C 프로그래머는 종종 "this"가 참조가 아닌 포인터라는 점에 대해 혼동을 겪습니다. 참조. 이 문제는 역사적인 디자인 결정과 언어의 점진적인 발전으로 인해 발생합니다.

처음에 C는 참조가 아닌 포인터만 제공했습니다. 그러나 연산자 오버로딩이 도입되었을 때 일관성을 보장하기 위해 참조가 필요한 것으로 간주되었습니다.

"this"에 대한 참조를 사용하면 "&this" 구문이 필요하지 않지만 할당 연산자 호출이 복잡해집니다. "this" 대신 *this"가 필요합니다.

또한 C의 이전 버전과의 호환성이 가장 중요합니다. "this"를 포인터에서 참조로 변경하려면 상당한 코드 수정이 필요하므로 비현실적인 선택이 됩니다.

따라서 "this"는 기존 코드와의 호환성을 유지하고 다양한 요구 사항을 충족하기 위해 C에서 포인터로 남아 있습니다. 사용자 커뮤니티의 모습입니다.

위 내용은 왜 `this`는 C에서 참조가 아닌 포인터입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.