C++ 20 Tamamlandı

ISO C++ Komitesi, C++ 20 için Komite Taslağını tamamladı ve nihai onay ve yayın için Taslak Uluslararası Standardına gönderilecek. C++ 20, modüller, kavramlar, yardımcı programlar ve daha iyi zaman programlama desteği gibi önemli programlama dili özellikleri içerir.

Komiteye göre, C++ 20 “on yılda C++'ın en etkili revizyonu”.

C++ 20, C++ 17'yi ardından gelmesi beklenen C++ programlama dili için ISO/IEC standardının revizyonunun resmi olmayan adıdır.

Kapsamlı bir revizyon listesi olan Senkronizasyon Kütüphanesi, C++ 20'de verimli atomik bekleme ve semaforlar, mandallar ve bariyerler, 'atomic_flag::test' ve lockfree integral türleri ve bir değişiklik daha ki C++'ı küçük işlemciler için kullanılmaz hale getiren listeye sahiptir.

Yeni versiyonda, dilin arkasındaki geliştiricilere göre, Executors önemli ölçüde ilerledi. Artık hata işleme ve biraz çalışılması gereken toplu uygulayıcılar (executors) dışında her konu üzerinde bir UZLAŞILMIŞ(!) tasarım bulunuyor.

Semaforlar (ikili ve sayma), mandallar, bariyerler, verimli yoklama (bekle ve bildir - Futex gibi), birleştirme thread ve durdurma token'ı dahil olmak üzere C++ 20 için eşzamanlılık ve paralellik özelliklerinin çoğu uyarlandı. Bu sürümde de önleyici bakım yapılmıştır.

Güncellenmiş dil aynı zamanda printf fonksiyon ailesi kadar esnek olma, daha doğal çağrı stili, mesaj ve argümanların ayrılması ve iostreams kadar güvenli ve genişletilebilir olması ile yeni bir metin formatlama API'sı, std::format'ı sunuyor. std :: format yazı yazmayı mümkün kılacaktır.

Değişiklikleri tanımlayan ve geliştiricilere önerilerde bulunan C++ yaratıcısı Bjarne Stroustrup'un tam videosunu burada bulabilirsiniz.

Onun önerileri, kullanıcı seviyesi/uygulama seviyesi kavramlarının anlambilimine sahip olması, eksik kavramların hiçbir kavramdan daha iyi olmaması, kavramlara karşı türleri kontrol etmek ve tiplerine karşı algoritmaları kontrol etmek için 'static_asserts' kullanılmasını önerir.

Buna ek olarak, ISO C++ Komitesi, modüler standart kütüphaneye öncelik vermesi ve korountinler (corountines), executors ve ağ iletişimi için kütüphane desteğini içermesi beklenen C++ 23 için bir plan başlattı.


HABERLER