> 백엔드 개발 > C++ > const Fred& 또는 Fred const&: C에서는 어떤 배치가 선호됩니까?

const Fred& 또는 Fred const&: C에서는 어떤 배치가 선호됩니까?

DDD
풀어 주다: 2024-11-25 06:13:12
원래의
955명이 탐색했습니다.

 const Fred& or Fred const&: Which Placement Is Preferred in C  ?

const 참조: C의 유형 지정자 이전 및 이후 배치

C에서는 const 참조 지정자(const Fred&)를 이전 또는 이후에 배치할 수 있습니다. 유형 지정자(Fred const&). 의미론적으로는 동일해 보이지만 배치에 스타일적인 의미가 있을 수 있습니다.

의미론적 동등성

구문론적으로 const Fred&와 Fred const&는 동일한 유형, 즉 Fred 객체에 대한 상수 참조를 나타냅니다. 컴파일러는 이들을 서로 바꿔서 해석하므로 의미상 차이가 제거됩니다.

스타일 선호도

그러나 의미상으로는 무관심하지만 스타일에 있어서는 선호도가 분리됩니다. 일부 프로그래머는 C 프로그래밍 언어 책 및 C 표준과 일치한다는 이유로 const를 유형 지정자(const Fred&) 앞에 배치하는 것을 선호합니다. 다른 사람들은 K&R의 C 프로그래밍 언어와 C 표준에서 사용된 스타일에서 영감을 받아 게시물 유형 지정자 배치(Fred const&)를 옹호합니다.

const Fred&

  • Stroustrup의 C 책에서 사용한 스타일을 따릅니다.
  • C에서 사용한 스타일을 따릅니다.

Fred const&

  • K&R의 주요 C 서적에 사용된 구문과 일치합니다.
  • C 표준에서 채택한 스타일을 반영합니다.
  • 다음과 같은 문자가 잘못 배치될 위험을 줄일 수 있습니다. const* T 대신 T const.

파싱 고려 사항

오른쪽에서 왼쪽으로 구문 분석 규칙은 스타일 선택에 영향을 미치는 경우가 많습니다. 그러나 const Fred&는 오른쪽에서 왼쪽으로 의미있게 구문 분석될 수도 있습니다(상수 Fred 객체에 대한 참조)는 점에 주목할 가치가 있습니다. 더욱이 Fred const*는 "상수 T에 대한 포인터" 대신 "T에 대한 포인터 상수"로 해석되면 모호성을 초래할 수 있습니다.

결론

결국 const Fred&와 Fred const& 사이의 선택은 끓어오릅니다. 개인 취향에 따라. 그러나 C 및 C 커뮤니티에 확립된 관례를 고려하면 const Fred&의 인기가 약간 우위에 있는 것 같습니다.

위 내용은 const Fred& 또는 Fred const&: C에서는 어떤 배치가 선호됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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