Const Rvalue 참조: 드물지만 유용한 개념
const(const Foo&&)에 대한 rvalue 참조가 실제로 사용되는지 여부에 대한 질문은 일부 프로그래머들은 당황했습니다. 직관적으로 그렇지 않을 것 같지만, 이 주제를 더 깊이 파고들어 잠재적인 응용 분야를 살펴보겠습니다.
C 0x 초안에 따르면 const rvalue 참조는 특정 시나리오에서 유용할 수 있습니다. 예를 들어, 초안 자체에서 사용되는 다음 코드 조각에서:
template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;
이러한 오버로드는 다른 ref(T&) 및 cref(const T&) 함수가 rvalue에 바인딩되지 않도록 하여 예기치 않은 동작을 방지합니다.
공식 C 11 표준(N3290)을 확인하면 섹션 20.8 함수 객체에서 동일한 선언을 찾을 수 있습니다. [function.objects]/p2:
template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;
공개적으로 사용 가능한 최신 C 11 초안(N3485)에도 동일한 섹션에 이러한 선언이 포함되어 있습니다. 이러한 예는 const rvalue 참조가 C 언어 표준에 포함될 만큼 유용하다고 간주되었음을 보여줍니다. 사용 사례는 구체적일 수 있지만 특정 프로그래밍 상황에 유용한 구성을 제공합니다.
위 내용은 Const Rvalue 참조가 C에서 실제로 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!