A constexpr
fonksiyonu ve ilgili bir constexpr
değişken, ancak farklı şeyler.
bir constexpr
değişken değeri derleme zamanında mevcut olması sağlanır bir değişkendir.
bir constexpr
fonksiyonu constexpr
bağımsız değişken ile değerlendirildi eğer ve yürütme sırasında "doğru" davranan bir fonksiyonudur, derleme zamanında değerlendirilecektir.
constexpr
int
işlevini constexpr
işlevine iletirseniz, derleme zamanında sihirli olarak değerlendirilmeyecektir. Bununla birlikte, giriş parametrelerinin constexpr
nansını kendi içinden geçirmesine izin verilir (normal fonksiyonlar bunu yapamaz). fonksiyonlarına
constexpr
bunlar derleyici yazılır ve yönergeler ilgili belgeler ve kısıtlama bir karışımıdır.
Bunun sebebi aynı işlevi derleme zamanında hem değerlendirilecek izin vermektir ve çalışma zamanında. Çalışma zamanı argümanlarını geçtiyse, bu bir çalışma zamanı işlevidir. constexpr
argümanlarını geçtiyse, derleme zamanında değerlendirilebilir (ve belirli bağlamlarda kullanılıyorsa).
genel durumda 'I' geçersiz t1 (const int)' in 'constexpr'' değildir Eh çünkü. – stefan
bunu nasıl yapabilirim? – tower120
bunu bir şablon argümanı haline getirmek tek seçeneğinizdir – stefan