[c++] 비열거형 템플릿 매개변수

이 기능은 일반적인 타입과 마찬가지로 통용될 수 있으며, enum class나 enum struct와 같은 enum 유형을 요구하지 않습니다.

다음은 비열거형 템플릿 매개변수의 간단한 예시입니다.

template <auto Value>
struct NonTypeEnumTemplateParam {
    static constexpr auto value = Value;
};

int main() {
    NonTypeEnumTemplateParam<42> constexpr param{};
}

위의 예시에서 NonTypeEnumTemplateParam은 비열거형 템플릿 매개변수로 사용됩니다. 비열거형 템플릿 매개변수는 auto 키워드를 사용하여 정의되며, Value에는 어떠한 유형의 값이든 전달될 수 있습니다.

이러한 기능은 C++ 프로그래밍 언어에서 템플릿의 유연성을 높여주는 중요한 요소 중 하나입니다.

더 자세한 내용은 C++17 표준 문서를 참조하십시오.