C++ 17 içsel isim alanları (nested namespaces)

C++17 standartları ile gelen yeni özelliklerin hemen hepsi yaygın kullanımda olan derleyiciler tarafından gerçekleştirilmiş (implemente edilmiş) durumda. Bu yeni özelliklerden biri de içsel isim alanlarının (nested namespaces) bildirimine ilişkin:

Yazdığımız bir oyun programında kullanılan bir isim alanına bakalım:

ModelBase isimli sınıfın tanımı Csd isim alanı içinde yer alan Game isim alanında yer alan Models isim alanı içinde yapılmış. Burada kullanılması gereken iç içe bloklar bildirimin yazılmasını ve okunmasını zorlaştırıyor.

Bazı programcılar bu bildirimi kodun okunmasını kolaylaştırmak için şöyle bir kod yerleşimi (layout) ile yapıyorlardı:

C++17 standartları ile Models isim alanı içindeki ModelBase sınıfını artık şu şekilde bildirebiliyoruz:

Bu şekilde bildirilen isim alanları bildirimleri yine kümülatif biçimde ele alınıyor:

Bildirim sırası aşağıdaki gibi olsaydı da kod yine geçerli olurdu:

 

Share

Necati Ergin

C ve Sistem Programcıları Derneğinde eğitmen olarak çalışıyor.

Bunlar da ilginizi çekebilir

Kod Eklemek İçin Okuyun