메타 프로그래밍에서는 많은 수의 클래스가 매우 빠르게 증가합니다. 현대 컴파일러가 허용하는 최대 클래스 수 (예 : g ++)가 걱정됩니까? 컴파일러의 구문 분석 나무는 단지 내가 그 컴파일러 한계 전반적인 복잡성의 문제가 아니라 기업 중 어느 하나의 종류의 수 있다고 가정하는 것이 안전하다고 생각하는 — 나무 — 것을 C++ 컴파일러 최대 클래스 수
당신에게 주어답변
나는이 질문에 가장 C++위원회에서 발표 한 표준에 대한 답변 추측에는 요를 제공 할 수 있습니다. 그러나 this place을 보면, 많은 항목에 최소 수량 제한이 있지만 클래스의 수에 대한 상한선은 볼 수 없습니다 (적어도 각 유형의 항목 수는 컴파일러에서 지원해야한다고 말하면서 바인딩 제한). 컴파일러가 이러한 최소 제한을 지원할 수 있으면 OK 여야합니다.
그러나 클래스의 수에 대한 상한선에 대한 어떤 요소가 내 학문적 호기심을 불러 일으 킵니다. 나는 컴파일러 전문가가 대답 할 수 있는지 알고 기뻐할 것입니다.
구현 수량은 실제 최저 수준이 아닙니다. 최소 권장량 일뿐입니다. 구현이 무언가에 대한 최소 요구 사항을 충족시키지 못하면 지원할 수있는 수량을 문서화해야합니다. –
당신은 나를 잡았어, 나는 그것을 놓치지 않고 두 번째 읽어야했다. 어쨌든,이 지점을 반영하도록 답을 수정하십시오. – vpit3833
감사드립니다. 물론
, 그들의 앞에 소스를 가진 사람은 더 명확한 답 :
64 비트 컴퓨터에서 실행하는 경우 현대 컴파일러의 제한 사항이 모두 소진되지는 않습니다. 유형 정보는 하드 코딩 된 제한된 크기의 컨테이너에 배치되는 것이 아니라 동적으로 할당 될 가능성이 있습니다.
32 비트 컴퓨터의 경우와 같이 2GB 메모리 공간에서 컴파일하기가 어려울 수도있는 시스템이 있다고 생각할 수 있습니다. 그러나, 비록 많은 꽤 많은 C++ 코드 기반에서 템플릿 메타 프로그래밍을 많이 사용해 왔지만 실제로는 실제로 문제가되지 않았습니다. 컴파일 속도가 느리고 디버깅 성가심이 메모리 크기보다 먼저 죽을 수도 있습니다 :-)
- 1. g ++ C++ 0x enum 클래스 컴파일러 경고
- 2. C++ 컴파일러 - 클래스 멤버 컴파일러는이 코드를보고
- 3. 추상 클래스 컴파일러 오류
- 4. 최대 길이 이름 클래스
- 5. 이상한 C# 컴파일러 오류
- 6. C++ 컴파일러 오류가
- 7. Android에 C/C++ 컴파일러 설치
- 8. 좋은 C# 컴파일러 - 컴파일러/파서 생성기는 무엇입니까?
- 9. 컴파일러 오류가 C#
- 10. Atmel C 컴파일러 설명서?
- 11. 는 C++ 컴파일러
- 12. Visual C# - 컴파일러 옵션
- 13. C# 컴파일러 지침
- 14. 는 C++ 컴파일러
- 15. 컴파일러 오류, C++
- 16. C++ STL 집합 클래스 - 컴파일러 오류 오류 C2664
- 17. Java/C# 관점에서 C++ 컴파일러 이해하기
- 18. iPhone 용 C 컴파일러?
- 19. C : 런타임시 컴파일러 정보
- 20. VS2005의 C++ 컴파일러
- 21. VS2008 C++ 컴파일러 오류?
- 22. 엽기 C++ 컴파일러 문제
- 23. C++ 템플릿, 컴파일러 오류
- 24. "g ++"및 "C++"컴파일러
- 25. 최고의 C++ 컴파일러?
- 26. C# 컴파일러 : 전처리 전용
- 27. C++ stable_partition 컴파일러 오류
- 28. Objective-C 컴파일러 플래그
- 29. 리눅스에서 C++ 프로그램의 메모리 스택 최대 크기를 어떻게 알 수 있습니까? (GNU 컴파일러)
- 30. 컴파일러
부스트가 아직 히트하지 않았다면 ... – Thanatos
하드 코딩 된 제한이없는 것 같습니다 개발 상자에있는 RAM의 양 이외의. –