Modern C++ (2): C++ 11 Yenilikleri

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 templatesattributes, 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:

  1. Move semantiği
  2. Variadic templates
  3. rvalue referansları
  4. Initializer lists
  5. Static assertions
  6. auto
  7. Lambda tanımlamaları
  8. decltype
  9. Template aliases
  10. nullptr
  11. Strongly-typed enums
  12. Attributes
  13. constexpr
  14. Delegating constructors
  15. User-defined literals
  16. explicit virtual overrides
  17. final specifier
  18. default functions
  19. deleted functions
  20. Range-based for loops
  21. Special member functions for move semantics
  22. Converting constructors
  23. Explicit conversion functions
  24. Inline-namespaces
  25. Non-static data member initializers
  26. Right angle brackets

C++ 11 STL Kütüphanesi Yeni Özellikleri/Sınıfları:

  1. std::move
  2. std::forward
  3. std::to_string
  4. type traits
  5. smart pointers
  6. std::chrono
  7. std::tuples
  8. std::tie
  9. std::array
  10. unordered containers
  11. std::make_shared
  12. memory model

2 Comments Modern C++ (2): C++ 11 Yenilikleri

  1. hande

    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

    Reply
    1. yazılımperver

      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 👍

      Reply

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.