C에서 함수 인수에 const 참조를 배치하면 의문이 생길 수 있습니다. 다음 두 코드 조각을 고려하세요.
int foo1(const Fred &arg) { ... }
int foo2(Fred const &arg) { ... }
의미상 이 두 인수 사이에는 차이가 없습니다. 언어는 이들을 동일한 유형으로 취급하며 둘 다 Fred 유형의 객체에 대한 지속적인 참조를 나타냅니다.
스타일 고려 사항:
그러나 스타일에 있어서는 , 선호하는 사용법은 프로그래머마다 다릅니다.
오른쪽에서 왼쪽으로 구문 분석:
오른쪽에서 왼쪽으로 구문 분석 규칙에 따라 한정자(예: const)는 왼쪽 유형에 적용되어야 합니다. 이는 T const&의 사용을 지원합니다.
그러나 const T&는 오른쪽에서 왼쪽으로 효과적으로 구문 분석할 수도 있다는 점에 유의하는 것이 중요합니다. 이는 T 유형의 상수 값에 대한 참조를 나타냅니다. 또한 T const*("상수 T에 대한 포인터" 대신 "T에 대한 포인터 상수"로 잠재적으로 해석될 수 있음)의 모호성으로 인해 const T&가 더 모호하지 않은 선택이 됩니다.
실용성:
가독성과 일반적인 사용 측면에서 const T&/const T는 T const&/T const에 비해 상당한 추진력을 얻었습니다. 이는 Stroustrup의 책 및 C 표준과 같이 널리 알려진 소스에서 이러한 스타일이 널리 퍼져 있기 때문일 수 있습니다. 일반적으로 허용되는 방식을 준수하면 코드 가독성을 높일 수 있습니다.
위 내용은 함수 인수의 Const 참조: `const T&` 또는 `T const&`?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!