4 puan yazan GN⁺ 2025-04-27 | Henüz yorum yok. | WhatsApp'ta paylaş
  • GCC 15, çok sayıda C++26 özelliği ekledi ve bazı C++23 özelliklerini de iyileştirdi
  • Başlıca eklemeler arasında Pack Indexing, Variadic Friends, silme nedenini belirtme, yapısal bağlama koşul ifadeleri yer alıyor
  • Yeni derleyici seçenekleri ve uyarılar da eklenerek geliştirici deneyimi iyileştirildi
  • C++ modül desteği güçlendirildi ve şablon derleme hızına yönelik optimizasyonlar yapıldı
  • GCC 15, Fedora 42’nin varsayılan derleyicisi olarak benimsendi ve yakında Red Hat GCC Toolset içinde de sunulacak

GCC 15’in Yeni C++ Özellikleri

  • GCC 15.1, 25 Nisan 2025’te yayımlandı ve C++26 özelliklerini ciddi biçimde devreye almaya başladı
  • Varsayılan standart hâlâ gnu++17; en yeni özellikler -std=c++23, -std=c++26 gibi seçeneklerle etkinleştirilebiliyor
  • C++20, C++23 ve C++26 özellikleri hâlâ deneysel (experimental) durumda

C++26’nın Başlıca Özellikleri

  • Pack Indexing

    • Variadic Template argümanlarında belirli bir öğeye pack...[N] sözdizimiyle doğrudan erişilebiliyor
    • Yinelemeli hilelere gerek kalmadan ilk argüman gibi öğelere temiz biçimde başvurulabiliyor
  • Structured Bindings için öznitelik belirtme

    • Yapısal olarak bağlanan değişkenlerin her birine ayrı ayrı [[attribute]] uygulanabiliyor
    • Örneğin yalnızca belirli bir bağlama değişkeni [[deprecated]] olarak işaretlenebiliyor
  • Silinen fonksiyonlara açıklama ekleme

    • = delete("neden") sözdizimiyle silinmiş bir fonksiyon çağrısının hatasına mesaj eklenebiliyor
  • Variadic Friends

    • Şablon sınıflarda birden fazla tür tek seferde friend olarak bildirilebiliyor
    • Passkey pattern gibi erişim denetimini güçlendiren yapılarda faydalı
  • constexpr Placement New

    • std::allocator ve placement new, constexpr bağlamında kullanılabiliyor
  • Yapısal bağlamaları koşul ifadelerinde kullanma

    • if, while, switch koşulları içinde yapısal bağlama bildirimi yapılabiliyor
    • Koşul değerlendirmesi, derleyicinin ürettiği dahili bir değişken üzerinden gerçekleştiriliyor
  • Eksik türlerin silinmesinin yasaklanması

    • delete veya delete[], eksik türlerde kullanılırsa C++26 modunda derleme hatası oluşuyor
  • Oxford virgülü uyarısı

    • Variadic fonksiyon bildirimlerinde , ... yerine yalnızca ... kullanılan desen C++26’da uyarı veriyor
  • Dizi karşılaştırmasının kaldırılması

    • Diziler arasında == karşılaştırması yapan kod artık hata olarak işleniyor
    • Bu durum önceki C++20’de uyarıydı; artık C++26 modunda derleme hatasına yükseltildi
  • #embed yönergesi

    • İkili verileri kaynak koda doğrudan gömmeye yarayan #embed desteği eklendi

Henüz yorum yok.

Henüz yorum yok.