Güncelleme: Aşağıdaki bir takım konuları daha işlediğim için, bu yazıyı biraz yukarı taşıdım 😉 Kırmızı olanlar, yazılarımda işlediğim konular.
İlk yazımdan bu yana neredeyse üç sene geçmiş ve gelen geri bildirimler ışığında modern C++ yazılarıma geri dönmeyi planlıyorum. Öncelikle değerli geri bildirimleriniz için çok teşekkürler. Bunlar yeni yazılarım için de, güzel bir motivasyon kaynağı. İlk sitemi kurduğumdan beri en önemli amacım, bildiklerimi ve öğrendiklerimi, kendime has dilimle sizlerle paylaşmak. Şimdiye kadar da bunun faydalı olduğunu gördüm, görüyorum ve devam edeceğim inşallah.
Peki neden bu yazıyı tekrar hortlattım 🙂 aşağıda aslında o zaman C++ 11 ile başlayan serüvenimizde, önümüze bir yol haritası koymuştuk. Bunlardan hangilerini işledik, hangiler kaldı. Aşağıda, işlediğim konulara ilişkin yazı bağlantılarını ekledim ve kırmızı ile renklendirdim. Aslında baya bir kabiliyete bakmışız 🙂 Kalanlardan da, variadic templates, attributes, user-defined literals, std::array ve hepsinden önemlisi std::chrono (bence) konularına değineceğim.
Artık hızlıca, C++ 11 ve diğer standartlara ilişkin kabiliyetlere bakıp, C++ 14/17 ve 20’e kaldığımız yerden devam edebiliriz. Bunlara ilişkin de ayrı bir sayfa yapıp, aşağıdaki gibi yazıları yayınladıkça, tablodan verilebilir. Bu konuda da geri bildirimlerinizi bekliyorum.
Elbette bu sırada diğer yazılarıma da devam edeceğim (Godot, QT/QML, videolar), hatta son zamanlarda vakit buldukça baktığım bazı gömülü yazılımlara dair de paylaşımlarda bulunmayı planlıyorum.
Yazılımlarımda parça parça anlatacağım (muhtemelen hepsine giremeyeceğim ama olabildiğince kısaca da olsa anlatmaya çalışacağım) dile gelen yeniliklerin hepsini bir arada görmek isterseniz ISO/IEC 14882:2003 standardına başvurabileceğiniz gibi aşağıdaki listeye de bakabilirsiniz 🙂 Aşağıdaki kabiliyetlerden anlattıklarıma bağlantıları ekleyeceğim (Yeşil ile renklendirdiklerim eklenenler).
C++ 11 Yeni Dil Özellikleri:
- Move semantiği
- Variadic templates
- rvalue referansları
- Initializer lists
- Static assertions
- auto
- Lambda tanımlamaları
- decltype
- Template aliases
- nullptr
- Strongly-typed enums
- Attributes
- constexpr
- Delegating constructors
- User-defined literals
- explicit virtual overrides
- final specifier
- default functions
- deleted functions
- Range-based for loops
- Special member functions for move semantics
- Converting constructors
- Explicit conversion functions
- Inline-namespaces
- Non-static data member initializers
- Right angle brackets
C++ 11 STL Kütüphanesi Yeni Özellikleri/Sınıfları:
- std::move
- std::forward
- std::to_string
- type traits
- smart pointers
- std::chrono
- std::tuples
- std::tie
- std::array
- unordered containers
- std::make_shared
- memory model
içeriklerinizi beğendim gerçekten çok güzel. eğer vaktiniz olursa sitenize daha modern sade bir tema yüklemenizi isterim. bu sayede düzenli ve daha toplu olması ile içeriklerin diğer mühendislik öğrencisi arkadaşların da dikkatini çekeceğinii düşünüyorum. başarılar dilerimm
merhabalar, güzel geri bildirimleriniz için çok teşekkürler. Aslına bakarsanız bu temayı özellikle sade olduğu için tercih etmişim ama wordpress için varsa tema öneriniz inceleyebilirim 👍