Evet yazılımperver dostlar, C++ 11 ile ilgili kabiliyetlerin çoğunu geçtiğimiz yazılarda tamamladık. Bazı yazılarda, C++ 14, 17 ve 20’ye ilişkin de bir takım kabiliyetlere değindik, yolculuğumuza devam ediyoruz. Bundan sonra C++ 14 ile ilgili kabiliyetlere devam ediyor olacağız. Açıkçası C++ 14 ile gelen kabiliyetler, C++11’e göre nispeten az, bunun sebebi de, C++ 11’den sonra minör bir güncelleme olmasındandır. Şimdi bu kabiliyetlere kısaca bakalım.
Bunlardan daha önce değindiklerimi, ilgili özelliklerin sağına kırmızı ile ekliyorum. Diğerlerine, sonraki yazılarımda değineceğim.
Bir sonraki yazımda görüşmek dileğiyle.
Yeni Dil Özellikleri
- variable templates (Haftalık C++ 45 – “Variable Templates”)
- generic lambdas (Haftalık C++ 49 – “Generic Lambdas” ve “Lambda Capture Initializers”)
- Lambda capture initializers (Haftalık C++ 49 – “Generic Lambdas” ve “Lambda Capture Initializers”)
- [[deprecated]] (Haftalık C++ 30 – Nitelikler (“attributes”) )
- relaxed restrictions on constexpr functions (Haftalık C++ 46 – constexpr fonksiyonlar ve fonskiyonlar için dönüş tipi çıkarımı)
- binary literals (Haftalık C++ 34 – Kullanıcı Tanımlı Değişmezler)
- digit separators (Haftalık C++ 50 -Rakam ayıraçlar, std::exchange, std::integer_sequence, std::quoted)
- return type deduction for functions (Haftalık C++ 46 – constexpr fonksiyonlar ve fonskiyonlar için dönüş tipi çıkarımı)
Yeni STL Özellikleri
- std::make_unique (Modern C++ (4) : Smart Pointers-I)
- std::shared_timed_mutex ve std::shared_lock (Haftalık C++ 10- std::thread (III))
- std::integer_sequence(Haftalık C++ 50 -Rakam ayıraçlar, std::exchange, std::integer_sequence, std::quoted)
- std::exchange (Haftalık C++ 50 -Rakam ayıraçlar, std::exchange, std::integer_sequence, std::quoted)
- std::quoted (Haftalık C++ 50 -Rakam ayıraçlar, std::exchange, std::integer_sequence, std::quoted)
- basic_string, duration ve complex için kullanıcı tanımlı değişmezler (Haftalık C++ 34 – Kullanıcı Tanımlı Değişmezler)