GCC 15’in Yeni C++ Özellikleri
(developers.redhat.com)- 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++26gibi 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
- Variadic Template argümanlarında belirli bir öğeye
-
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
- Yapısal olarak bağlanan değişkenlerin her birine ayrı ayrı
-
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
friendolarak bildirilebiliyor - Passkey pattern gibi erişim denetimini güçlendiren yapılarda faydalı
- Şablon sınıflarda birden fazla tür tek seferde
-
constexpr Placement New
std::allocatorve placement new, constexpr bağlamında kullanılabiliyor
-
Yapısal bağlamaları koşul ifadelerinde kullanma
if,while,switchkoş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ı
deleteveyadelete[], 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
- Variadic fonksiyon bildirimlerinde
-
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
- Diziler arasında
-
#embed yönergesi
- İkili verileri kaynak koda doğrudan gömmeye yarayan
#embeddesteği eklendi
- İkili verileri kaynak koda doğrudan gömmeye yarayan
Henüz yorum yok.