비유형 매개변수가 있는 템플릿
템플릿 매개변수는 일반적으로 유형 요구사항을 지정하는 데 사용되지만 비유형 매개변수를 사용하여 템플릿을 선언하는 것도 가능합니다. 부호 없는 정수와 같은 유형 매개변수.
구문 및 의미
비유형 매개변수가 있는 템플릿의 구문은 다음과 같습니다.
template <unsigned int N>
여기서 N은 비유형 매개변수를 나타냅니다. 그런 다음 이 매개변수를 템플릿 내에서 unsigned int 유형의 컴파일 시간 상수로 사용할 수 있습니다.
사용 사례
비유형 매개변수는 다양한 시나리오에서 유용합니다.
유형 매개변수와 비유형 매개변수
유형 매개변수와 비유형 매개변수의 차이점을 알아두는 것이 중요합니다. 유형 매개변수는 유형(예: 클래스 T 또는 템플릿 T)을 나타내고, 비유형 매개변수는 상수(예: 부호 없는 int N)를 나타냅니다.
예
다음을 고려하세요. 다음 템플릿:
template <unsigned int N>
struct Vector {
unsigned char bytes[N];
};
여기서 N은 바이트 배열의 크기를 결정하는 비유형 매개변수입니다.
<code class="cpp">Vector<3> v; // Vector with 3 bytes</code>
기본값
비유형 매개변수에 대해 기본값을 지정하여 매개변수를 명시적으로 제공하지 않고도 템플릿을 사용할 수 있습니다. 예를 들어:
<code class="cpp">template <unsigned int SIZE = 3> struct Vector { unsigned char buffer[SIZE]; };</code>
위 템플릿의 기본 SIZE는 3이므로 다음이 유효합니다.
<code class="cpp">Vector v; // Equivalent to Vector<3></code>
결론
비- 템플릿의 유형 매개변수는 유연성을 제공하고 고정 또는 상수 값으로 코드 재사용을 허용합니다. 배열 크기 조정부터 조건부 컴파일까지 다양한 사용 사례를 지원합니다.
위 내용은 C 템플릿에서 비유형 매개변수를 언제 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!