> 백엔드 개발 > C++ > 본문

템플릿 매개변수에 'class' 또는 'typename'을 사용해야 합니까?

Patricia Arquette
풀어 주다: 2024-11-14 18:29:02
원래의
682명이 탐색했습니다.

Should You Use 'class' or 'typename' for Template Parameters?

템플릿 매개변수에서 'class' 또는 'typename'에 대한 기본 설정

C 템플릿 매개변수 정의 시 'class'와 ' typename'은 논쟁의 주제였습니다. 이 기사에서는 각 키워드 뒤에 숨겨진 역사적, 기술적 고려 사항을 살펴보고 하나를 다른 키워드보다 선호하는 잠재적인 이유에 대해 논의합니다.

역사적으로 '클래스'는 새 키워드 도입을 피하기 위해 템플릿에서 유형을 지정하는 데에만 사용되었습니다. 그러나 이러한 'class'의 오버로드가 혼란을 야기할 수 있다는 우려가 제기되었습니다.

이러한 모호성을 해결하기 위해 C 위원회는 특별히 템플릿 유형을 지정하는 새로운 키워드로 'typename'을 도입했습니다. 목적은 혼란을 줄이고 코드 구조에 대한 보다 명확한 이해를 제공하는 것이었습니다.

현재 'class'와 'typename'은 모두 템플릿 유형을 선언하는 데 유효한 옵션으로 남아 있습니다. C 17 이전의 특정 사례를 제외하면 일반적으로 상호 교환이 가능합니다.

일부 개발자는 유형 지정자로서의 전용 목적으로 인해 'typename'을 선호하여 코드를 더 명확하게 합니다. 다른 사람들은 습관적으로 또는 개인 코딩 스타일과 더 잘 어울리기 때문에 '클래스'를 선호합니다. 결국 둘 중 하나를 선택하는 것은 개인 취향의 문제이다.

템플릿 템플릿 매개변수(자체가 템플릿 인수를 취하는 유형 매개변수)의 경우 C 이전에 'class'가 필요했다는 점에 주목할 필요가 있다. 17. 이것은 선호의 문제가 아니라 언어의 요구 사항이었습니다. 그러나 C 17에서는 이 맥락에서도 'typename'과 'class'가 모두 허용됩니다.

위 내용은 템플릿 매개변수에 'class' 또는 'typename'을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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