실험으로 컴파일 할 때 std::array<uint32_t, 256>
을 생성하는 코드를 작성했습니다. 테이블 내용 자체는 꽤 전형적인 CRC 검색 테이블입니다. 유일한 새로운 점은 소스 코드에 자동 생성 된 마법 테이블을 직접적으로 두는 것과는 대조적으로 항목을 계산하는 기능 인 constexpr
을 사용한다는 것입니다.constexpr 계산의 실제적인 제한
어쨌든,이 연습에는 궁금한 점이 있습니다. 컴파일시에 컴파일러가 constexpr
함수 또는 변수 정의를 평가하기 위해 기꺼이 수행 할 계산량에 실질적인 제한이 있습니까? 예 : gcc의 -ftemplate-depth
매개 변수가 템플릿 메타 프로그래밍 평가의 실제적인 제한을 만드는 것과 유사합니다. (매개 변수 팩의 길이에 실질적인 제한이있을 수 있다면 나 또한 궁금해 - std::integer_sequence
중간 오브젝트를 사용하여 만든 컴파일 시간 std::array
의 크기를 제한합니다.)
만약 내가 xorrectly 기억, 예 한계가 있지만 재귀보다 큰 규모로되어있다 인스턴스화 제한 – MikeMB