원래 문제:
다음과 같은 기술을 사용하는 상태 저장 메타 프로그래밍 constexpr 카운터는 메타프로그래밍에서 상태 조작을 허용합니다. C 14에서는 합법적이지만 언어 의미 체계와의 적합성에 대한 우려가 제기되었습니다.
질문:
C 17에서 상태 저장 메타 프로그래밍의 상태가 변경되었나요?
CWG 활성 이슈 2118:
C 표준 위원회는 이를 잠재적인 문제로 인식하고 이를 CWG 활성 문제 2118로 지정했습니다. 문제는 메타프로그래밍 상태를 캡처하고 검색하기 위해 템플릿에서 친구 기능을 활용하는 것이 난해하고 반드시 그래야 한다는 것입니다. 잘못된 형식으로 선언됩니다.
C에서 해결 17:
2015년 5월 CWG 회의 현재 이 문제는 해결되지 않은 상태로 남아 있습니다. 위원회에서는 이러한 기술이 잘못된 형식이어야 한다는 데 동의했지만 이를 금지하는 메커니즘은 아직 결정되지 않았습니다.
현재 의미:
상태 저장 메타프로그래밍 기술은 기술적으로 남아 있습니다. C 17에서는 합법적입니다. 그러나 금지 메커니즘이 결국 구현되면 소급하여 이러한 기술을 부적합 코드로 만들 수 있습니다.
위 내용은 상태 저장 메타 프로그래밍은 C 17에서 여전히 합법적입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!