C dilinde union kullanarak tip güvenli jenerik veri yapıları geliştirildi
Öne çıkanlar
- Union yapısı içindeki tip işaretçisi çalışma zamanında bellek tüketmeden derleme zamanı tip bilgisi sağlıyor.
- Üçlü koşul işleci, hatalı tipteki verilerin fonksiyonlara aktarılmasını derleme anında engelliyor.
- Esnek dizi üyeleri kullanılarak düğüm ve veri için tek bellek ayırması yapılıyor, bellek kullanım verimi artıyor.
C programlama dilinde derleme zamanında tip güvenliği sağlayan yeni bir jenerik veri yapısı yöntemi paylaşıldı. Geliştirici, başlık dosyalarını defalarca dahil etmek veya void işaretçilerine bağımlı kalmak yerine, veri yapısına tip bilgisi eklemek için union yapılarından faydalanıyor. Bu teknik sayesinde harici şablon motorlarına gerek duyulmadan bağlı liste, dizi ve ikili ağaç gibi yapılar tip denetimli hale getirilebiliyor.
Söz konusu yöntemde liste başlığı ile hedeflenen veri tipini içeren bir işaretçi aynı union altında tanımlanıyor. Bu işaretçi çalışma zamanında asla bellek tüketmiyor ve yalnızca derleme aşamasında tip kontrolü amacıyla kullanılıyor. Makrolar aracılığıyla çağrılan üçlü koşul işleci, fonksiyona aktarılan veri tipiyle union içindeki tipin uyuşup uyuşmadığını denetliyor; uyuşmazlık durumunda derleyici doğrudan hata üretiyor.
Esnek dizi üyeleriyle birleştirilen bu mimari, düğüm ve veriyi tek bir bellek bloğunda toplayarak iki ayrı bellek ayırma zorunluluğunu ortadan kaldırıyor. Geri dönüş tiplerinin güvenliği ise modern C derleyicilerinin desteklediği typeof operatörüyle sağlanıyor. Değişken tanımlarında ortaya çıkan anonim tip uyuşmazlıkları ise basit bir typedef tanımı yapılarak aşılabiliyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.