CONTAINERS & WRAPPERS EĞİTİMİ

Konteynerleri ve sarmalayıcıları birlikte kullanın

vector, map, adaptörler, iterator, optional, variant, any, reference_wrapper, smart pointer, taşıma semantiği ve performans.

Bu eğitim, C++ konteynerlerini sarmalayıcı tiplerle birlikte güvenle kullanmayı öğretir. vector, map ve adaptörlerin davranışı ve iterator kuralları; std::optional, variant, any, reference_wrapper, pair/tuple ve std::function sarmalayıcıları; unique_ptr ve sh…

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

C++ konteynerleri ile modern sarmalayıcı tiplerin güvenli birleşimi

Bu eğitim, C++ konteynerlerini sarmalayıcı tiplerle birlikte güvenle kullanmayı öğretir. vector, map ve adaptörlerin davranışı ve iterator kuralları; std::optional, variant, any, reference_wrapper, pair/tuple ve std::function sarmalayıcıları; unique_ptr ve shared_ptr ile sahiplik, taşıma semantiği, perfect forwarding ve hata ayıklama laboratuvarlarda işlenir. Konteynerde referans saklama ve tip güvenli birleşik tipler gerçek örneklerle gösterilir.

Süre ve Format

2 Gün. Her gün dört modül; Konteynerler ve Iterator, Sarmalayıcılar ve Performans konuları uygulamalı işlenir.

Seviye

Orta Seviye — C++ konteynerlerini ve sarmalayıcı tipleri (optional, variant, reference_wrapper) birlikte kullanma.

Öğrenme Metodu

Her sarmalayıcı için hatalı ve doğru kullanım karşılaştırılır; sanitizer ve benchmark ile sonuç doğrulanır.

Neden Bu Eğitim?

⚡Verimli Kod

Konteyner seçimini karmaşıklık ve önbellek davranışına göre yaparak daha hızlı programlar yazarsınız.

🧩Modern C++

C++17/20 özellikleri olan şablon, lambda ve ranges ile daha kısa ve güvenli kod üretirsiniz.

🐞Az Hata

Iterator geçersizleşmesi ve bellek hatalarını sanitizer araçlarıyla erken yakalarsınız.

Anahtar Konular

std::optionalstd::variantreference_wrapperc++ sarmalayıcıc++ konteynersmart pointertaşıma semantiğistd::functionmodern c++c++ eğitimi
“Modern C++, ham işaretçiyi değil niyeti ifade eden tipleri kullanır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
C++ Temelleri

Değişken, fonksiyon, sınıf ve işaretçi kavramlarını bilmek gerekir.

2
Derleyici

GCC 11+, Clang 14+ veya MSVC 2022 ile C++17/20 derleyebilen bir ortam gerekir.

3
Geliştirme Aracı

CMake ve bir IDE (VS Code, CLion veya Visual Studio) kurulu olmalıdır.

4
Veri Yapıları

Dizi, bağlı liste ve hash tablosu gibi temel veri yapıları fikri faydalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı konteyner türlerini ve iterator kurallarını güvenle uygulayabilir.
Modül 1
Sıralı Konteynerler: vector, deque, list, array
  • std::vector: size / capacity, reserve, shrink_to_fit ve emplace_back ile push_back farkı
  • std::deque: iki uçtan ekleme, parçalı bellek yapısı ve rastgele erişim maliyeti
  • std::list ve std::forward_list: splice, merge, unique ve bellek yükü
  • std::array ve C dizisi karşılaştırması, std::span ile görünüm
  • insert / erase karmaşıklıkları (amortize O(1), O(n)) ve seçim tablosu
  • Önbellek yerelliği (cache locality) ve vector'ün pratikte neden hızlı olduğu
Modül 2
İlişkisel Konteynerler: map, set, unordered_map
  • std::set / std::map (kırmızı-siyah ağaç), multiset / multimap ve O(log n) işlemler
  • insert, emplace, try_emplace, insert_or_assign ve operator[] farkları
  • unordered_map / unordered_set: hash fonksiyonu, bucket, load_factor ve rehash
  • Özel karşılaştırıcı (comparator) ve özel hash'in std::hash özelleştirmesiyle yazılması
  • Node handle: extract() / merge() ve heterogeneous lookup (is_transparent)
  • map ile unordered_map seçimi: sıralı gezinme, bellek ve performans karşılaştırması
Modül 3
Konteyner Adaptörleri
  • std::stack, std::queue ve std::priority_queue arayüzleri ve alttaki konteyner (deque / vector)
  • priority_queue ile min-heap kurma ve özel karşılaştırıcı
  • make_heap, push_heap, pop_heap algoritmalarıyla elle heap yönetimi
  • Adaptör kullanarak BFS / DFS ve görev kuyruğu örnekleri
  • std::flat_map ve std::mdspan gibi yeni C++23 eklerine genel bakış
  • İş parçacığı güvenli kuyruk: mutex ve condition_variable ile sarmalama
Modül 4
Iterator'lar ve Geçersizleşme Kuralları
  • İterator kategorileri: input, forward, bidirectional, random access ve contiguous
  • begin/end, cbegin/cend, rbegin/rend ve range-based for döngüsü
  • std::advance, std::distance, std::next ve std::prev
  • İterator geçersizleşmesi: vector reserve / insert / erase sonrası davranış
  • Insert iterator'lar: back_inserter, front_inserter, inserter; stream iterator'lar
  • C++20 ranges: views::filter, views::transform ve lazy değerlendirme
Günün hedefiKatılımcı optional, variant ve reference_wrapper ile kapları güvenli kullanıp performansı ölçebilir.
Modül 1
Sarmalayıcı Tipler: optional, variant, any, reference_wrapper
  • std::optional: değer yok durumu, value_or ve monadik işlemler (C++23 and_then)
  • std::variant ve std::visit ile güvenli birleşik tipler (overloaded pattern)
  • std::any, std::type_index ve tip silme (type erasure) mantığı
  • std::reference_wrapper, std::ref ve konteynerlerde referans saklama
  • std::pair, std::tuple, structured bindings ve std::tie
  • std::function ve std::bind sarmalayıcıları, maliyet ve alternatifleri
Modül 2
Taşıma Semantiği ve Bellek Yönetimi
  • lvalue / rvalue, std::move ve std::forward (mükemmel iletim)
  • Taşıma yapıcı ve noexcept önemi: vector yeniden ayırmada taşıma ile kopya seçimi
  • std::unique_ptr, std::shared_ptr, std::weak_ptr ve konteynerde saklama
  • RAII ve istisna güvenliği (strong exception guarantee)
  • std::pmr polimorfik ayırıcılar ve monotonic_buffer_resource
  • AddressSanitizer / Valgrind ile bellek sızıntısı ve geçersiz iterator tespiti
Modül 3
STL Algoritmaları
  • Arama ve sayma: find, find_if, count_if, binary_search, lower_bound / upper_bound
  • Sıralama: sort, stable_sort, partial_sort, nth_element ve özel karşılaştırıcılar
  • Dönüştürme: transform, for_each, accumulate, reduce ve inner_product
  • Silme: remove / remove_if + erase idiomu ve C++20 std::erase_if
  • Lambda ifadeleri: yakalama (capture) modları, mutable ve genel lambda
  • C++17 paralel algoritmalar (std::execution::par) ve C++20 std::ranges::sort
Modül 4
Performans Ölçümü ve Konteyner Seçimi
  • Big-O karmaşıklığı ile gerçek performans farkı: sabitler ve önbellek etkisi
  • Google Benchmark ile vector, list ve deque ekleme / gezme ölçümü
  • perf ve Valgrind callgrind ile sıcak nokta analizi
  • reserve, emplace ve move ile ayırma sayısını azaltma
  • Küçük tipler için flat (vector tabanlı) sıralı yapılar ve boost::flat_map fikri
  • Derleyici bayrakları (-O2, -O3, -march=native) ve inlining etkisi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sıralı Konteynerler

vector, deque, list ve array arasında karmaşıklık ve bellek davranışına göre doğru seçim yapabilirsiniz.

✅
İlişkisel Konteynerler

map, set ve unordered_* kapları ile anahtar-değer verilerini doğru karmaşıklıkla yönetebilirsiniz.

✅
Adaptör Kapları

stack, queue ve priority_queue adaptörlerini altta yatan konteyner seçimiyle kullanabilirsiniz.

✅
Iterator Kullanımı

İterator kategorilerini ve geçersizleşme kurallarını bilerek hatasız döngüler yazabilirsiniz.

✅
Sarmalayıcılar

std::optional, variant ve reference_wrapper gibi sarmalayıcıları konteynerlerle güvenle birlikte kullanabilirsiniz.

✅
Taşıma Semantiği

Taşıma semantiği ve akıllı işaretçilerle konteynerlerde gereksiz kopyaları ortadan kaldırabilirsiniz.

✅
STL Algoritmaları

STL algoritmalarını lambda ifadeleriyle birleştirerek döngü yazmadan sağlam çözümler üretebilirsiniz.

✅
Performans Analizi

Google Benchmark ve profil araçlarıyla konteyner seçimini ölçüme dayalı yapabilirsiniz.

Kimler İçin Uygundur?

  • C++ bilgisini modern özelliklerle derinleştirmek isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C++ bilgisini modern özelliklerle derinleştirmek isteyen geliştiriciler için uygundur.
Eğitime katılmak için ön koşul ve ortam gereksinimi nedir?
Değişken, fonksiyon, sınıf ve işaretçi kavramlarını bilmek gerekir. GCC 11+, Clang 14+ veya MSVC 2022 ile C++17/20 derleyebilen bir ortam gerekir.
Eğitim hangi C++ sürümünü hedefler?
C++17 ve C++20; C++23 monadik optional işlemleri kısaca gösterilir.
Akıllı işaretçiler dahil mi?
Evet; unique_ptr ve shared_ptr konteynerlerle birlikte kullanımı işlenir.
Eğitim sonunda sertifika alabilir miyim?
Programı tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Containers & Wrappers Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Docker ve KonteynerleştirmeGelişmiş Docker Eğitimi
DevOps ve Konteyner Eğitimleri

Gelişmiş Docker Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Gelişmiş Docker: gelişmiş docker, docker advanced, buildkit, macvlan ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertifikası ile.

Detayları Gör →
Docker ve KonteynerleştirmeGNS Gelişmiş: Otomasyon, Docker ve Bulut Entegrasyonu Eğitimi
DevOps ve Konteyner Eğitimleri

GNS Gelişmiş: Otomasyon, Docker ve Bulut Entegrasyonu Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

GNS Gelişmiş: Otomasyon, Docker ve Bulut Entegrasyonu: gns3 otomasyon, gns3 docker ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertif

Detayları Gör →
Docker ve KonteynerleştirmeGoogle Cloud Digital Leader: Containers and Serverless Services Eğitimi
DevOps ve Konteyner Eğitimleri

Google Cloud Digital Leader: Containers and Serverless Services Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Google Cloud Digital Leader: Containers and Serverless Services: google cloud digital leader ve uygulamalı laboratuvarlar. DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Docker ve KonteynerleştirmeGoogle Professional Cloud Architect: Using Google Container Orchestration Eğitimi
DevOps ve Konteyner Eğitimleri

Google Professional Cloud Architect: Using Google Container Orchestration Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Google Professional Cloud Architect: google professional cloud architect, gke, kubernetes orkestrasyon ve uygulamalı laboratuvarlar. DVA Katılım ve Başarı Serti

Detayları Gör →
Docker ve KonteynerleştirmeIntroducing Docker Eğitimi
DevOps ve Konteyner Eğitimleri

Introducing Docker Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Introducing Docker: introducing docker, docker tanışma, docker giriş ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertifikası ile.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn