Bir deneme olarak, derleme zamanında bir std::array<uint32_t, 256>
oluşturmak için bazı kodları bir araya getirdim. Tablo içerikleri kendileri oldukça tipik bir CRC arama tablosudur - sadece yeni bir şey hakkında, otomatik olarak bir sihirli tabloyu doğrudan kaynak koduna koymak yerine, girdileri hesaplamak için constexpr
işlevlerinin kullanılmasıdır.Constexpr hesaplaması miktarıyla ilgili pratik sınırlamalar
Her neyse, bu alıştırma beni meraklandırdı: bir derleyicinin derleme zamanında bir constexpr
işlevini veya değişken tanımını değerlendirmek için yapmaya istekli olduğu hesaplama miktarı üzerinde herhangi bir pratik sınırlama var mıdır? Örneğin. şablon metaprogramlama değerlendirme miktarına pratik sınırlar yaratan gcc -ftemplate-depth
parametresi gibi bir şey. (Parametre paketin uzunluğu ile ilgili pratik sınırlama olabilir eğer de merak - bir std::integer_sequence
ara nesne kullanılarak oluşturulan bir derleme zamanında std::array
boyutunu sınırlar.)
Eğer xorrectly hatırlarsam, evet bir sınır var, ama bu yinelemeden daha büyük bir büyüklükte olması gerekiyordu örnekleme sınırı. – MikeMB