함수 인수에 의존하는 구성 함수 및 템플릿 매개변수
C 17에서 템플릿 매개변수는 컴파일러가 여전히 함수 인수에 의존할 수 없습니다. 컴파일 타임에 평가되더라도 constexpr이 아닌 함수에 대한 런타임 지침을 생성해야 합니다.
C 20 Consteval 함수
C 20에서는 consteval 함수를 도입합니다. 런타임 제약 조건을 제거하여 컴파일 타임에 평가해야 합니다. 그러나 질문은 여전히 남습니다. 이는 템플릿 매개변수가 이제 함수 인수에 종속될 수 있다는 뜻인가요?
종속 템플릿 매개변수에 대한 허용은 없습니다
consteval 함수가 도입되었음에도 불구하고 대답은 '아니요'입니다. 이 논문에서는 매개변수가 핵심 상수 표현식으로 취급되지 않는다는 점을 인정합니다. 이는 문서의 예에서 볼 수 있듯이 잠재적인 입력 불일치 때문입니다.
1 2 3 |
|
따라서 함수 매개변수는 상수 표현식으로 간주되지 않으므로 템플릿 매개변수가 함수 매개변수에 종속되지 않습니다.
위 내용은 템플릿 매개변수가 C 20 Consteval 함수의 함수 인수에 따라 달라질 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!