>  기사  >  백엔드 개발  >  C의 Const 참조: `const T&` 또는 `T const&` – 차이점은 무엇입니까?

C의 Const 참조: `const T&` 또는 `T const&` – 차이점은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-14 18:23:02533검색

Const Reference in C  : `const T&` or `T const&` – What's the Difference?

C의 상수 참조 유형: 'const' 한정자의 배치

C에서는 다음을 사용하여 상수 참조를 선언하는 두 가지 방법이 있습니다. 'const' 한정자:

const Fred &arg;
Fred const &arg;

의미 차이점

의미상 이 두 선언은 동일하며 언어에서는 이를 동일한 유형으로 간주합니다. const T& 또는 T const&로 인수를 전달하는 것에는 기능적 차이가 없습니다.

스타일 고려 사항

그러나 스타일에 관해서는 프로그래머마다 선호하는 것이 다릅니다. .

왼쪽에서 오른쪽으로 구문 분석

일부 프로그래머는 유형(T const&) 뒤에 'const' 한정자를 배치하는 것을 옹호하며 C의 오른쪽에서 왼쪽 구문 분석 규칙을 따른다고 주장합니다. 이렇게 하면 선언을 읽을 때 'const' 한정자가 참조 자체가 아닌 유형에 적용됩니다.

오른쪽에서 왼쪽으로 구문 분석

그러나 다른 사람들은 오른쪽에서 왼쪽으로 똑같이 잘 읽힌다고 주장하면서 const T& 구문을 선호합니다. 이는 "T 상수에 대한 참조"로 해석될 수 있습니다. 또한 참조 앞에 'const' 한정자를 배치하면 불법적인 'T* const'와 같은 포인터 상수가 실수로 선언되는 것을 방지할 수 있습니다.

일반적인 관행

실제로는 두 스타일 모두 널리 사용됩니다. Stroustrup의 "C 프로그래밍 언어"와 C 표준이 선호하는 스타일은 const T&입니다. 그러나 K&R의 "The C 프로그래밍 언어"와 C 표준에서 사용되는 스타일은 T const*입니다. 결국 스타일 선택은 개인 취향의 문제이며 특정 조직의 코딩 규칙에 의해 영향을 받을 수도 있습니다.

위 내용은 C의 Const 참조: `const T&` 또는 `T const&` – 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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