jtxkopt
Centipat
- Katılım
- 27 Mayıs 2023
- Mesajlar
- 129
- Çözümler
- 2
Daha fazla
- Cinsiyet
- Erkek
İlk attığın linkte switch case bloğunun çalışma zamanı tartışılmış ve en kötü durumda lineer zaman karmaşıklığına sahip olduğu söylenmiş. Devamında ise derleyicinin derlenen koda göre bazı optimizasyonlar yapabileceğinden bahsediliyor. İşte bu optimizasyonlardan en aşikarı switch-case deki expression'ın değerinin bilindiği durumda kodun direkt ilgili case aktarılması. Benzer optimizasyon if blokları içinde yapılabilir. Bu switch-case derleme zamanında değerlendirilir ya da çalıştırılır anlamına gelmez.Buradaki linkten faydalanarak derleyicinin bazı Switch case durumlarını direkt derleme zamanında derlediği ve sadece atlamalar yaptığını söyleyenlerin olduğunu görebilirsiniz. Bu durum da derleyiciden derleyiciye değişiyor sanırsam. Ayrıca Buradaki linkten ilgili paragrfı çevirirseniz derlemeden önce kesin bilinen ifadeler yazmanız gerektiğini görebilirsiniz. Hatalı bilgi verdiysem af ola.
Eki Görüntüle 1807232
İkinci linkte ise switch-case de değerlendirilecek ifadenin (expression) tam sayı tipinde olması gerektiği anlatılıyor. Yani int, long ya da short gibi tamsayı tipte olmalı. Ayrıca case yanındaki ifadelerin (constant-expression) değerleri de program çalışmadan derleme aşamasında önceden bilinebilir olmalı. Yani bir literal ya da enum gibi.