C++: WORKING WITH SEQUENCE CONTAINERS EĞİTİMİ

Sıralı konteynerleri doğru seçin, hızlı kod yazın

std::vector, deque, list, forward_list, array, span, iterator geçersizleşmesi, emplace, algoritmalar ve cache etkisi.

Bu eğitim, C++ STL sıralı konteynerlerini kullanım ve performans açısından ele alır. vector'ün size/capacity yönetimi, reserve ve emplace_back; deque ve list yapıları, splice işlemleri, array ve span görünümleri işlenir; iterator kategorileri ve geçersizleşme…

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

Eğitim Hakkında

STL sıralı konteynerlerinin davranışı, karmaşıklığı ve seçim kriterleri

Bu eğitim, C++ STL sıralı konteynerlerini kullanım ve performans açısından ele alır. vector'ün size/capacity yönetimi, reserve ve emplace_back; deque ve list yapıları, splice işlemleri, array ve span görünümleri işlenir; iterator kategorileri ve geçersizleşme kuralları, stack/queue adaptörleri, temel algoritmalar ve sarmalayıcılar gösterilir. Her kap için karmaşıklık tablosu çıkarılır ve Google Benchmark ile önbellek etkisi ölçülür.

Süre ve Format

2 Gün. Her gün dört modül; Sıralı Konteynerler, Algoritma, Sarmalayıcı ve Ölçüm konuları uygulamalı işlenir.

Seviye

Temel Seviye — vector, deque, list ve array gibi sıralı konteynerlerin kullanımı ve seçimi.

Öğrenme Metodu

Her konteyner küçük alıştırmalarla denenir; hatalı iterator kullanımı sanitizer ile görünür kılını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

c++ vectorc++ dequec++ liststd::arraysequence containersstl konteynerleriterator geçersizleşmesiemplace_backc++ temelc++ eğitimi
“En hızlı konteyner, verinizin bellekte nasıl durduğunu anlayarak seçtiğinizdir.”

Ö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ı vector, deque, list ve array kaplarını amacına göre seçip iterator geçersizleşmesini önleyebilir.
Modül 1
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
Modül 2
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 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
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
Günün hedefiKatılımcı konteynerleri algoritmalarla işleyip performansını ölçerek test edebilir.
Modül 1
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 2
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 3
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
Modül 4
Hata Ayıklama ve Birim Test
  • GoogleTest / Catch2 ile konteyner davranışı için birim test yazımı
  • gdb ile STL konteyner içeriğini yazdırma (pretty-printer) ve breakpoint kullanımı
  • AddressSanitizer ve UBSan ile sınır aşımı, use-after-free ve tanımsız davranış tespiti
  • Iterator geçersizleşmesi ve at() ile operator[] farkı üzerinden sınır denetimi hatalarını yakalama
  • Valgrind memcheck çıktısını okuma ve sızıntı kaynağını bulma
  • Kod incelemesi ve clang-tidy ile STL kullanım kurallarının otomatik denetimi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Iterator Kullanımı

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

✅
Sıralı Konteynerler

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

✅
Adaptör Kapları

stack, queue ve priority_queue adaptörlerini altta yatan konteyner seçimiyle 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.

✅
Sarmalayıcılar

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

✅
Performans Analizi

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

✅
Hata Ayıklama

GoogleTest, gdb ve sanitizer araçlarıyla konteyner kodundaki hataları hızla bulabilirsiniz.

Kimler İçin Uygundur?

  • C++ temelini öğrenmiş
  • STL'e yeni başlayan öğrenciler
  • yazılım geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C++ temelini öğrenmiş, STL'e yeni başlayan öğrenciler ve yazılım 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.
Hiç STL bilmeden katılabilir miyim?
Evet; C++ temel sözdizimini bildiğiniz sürece STL konuları sıfırdan anlatılır.
vector yerine list ne zaman seçilir?
Eğitimde karmaşıklık ve önbellek ölçümleriyle gösterilir; çoğu durumda vector'ün üstün olduğu ve istisnalar tartışılır.
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. C++: Working with Sequence Containers Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Docker ve KonteynerleştirmeNetworking and Multi-Container Orchestration with Docker Compose Eğitimi
DevOps ve Konteyner Eğitimleri

Networking and Multi-Container Orchestration with Docker Compose Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Docker Compose ağ ve orkestrasyon eğitimi: Compose dosyası, ağ sürücüleri, DNS servis keşfi, çok ağlı topoloji, bağımlılık yönetimi, ölçekleme ve Swarm'a geçiş.

Detayları Gör →
Docker ve KonteynerleştirmeOracle Cloud Infrastructure Foundations Associate: Load Balancing and Container Instances Eğitimi
DevOps ve Konteyner Eğitimleri

Oracle Cloud Infrastructure Foundations Associate: Load Balancing and Container Instances Eğitimi

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

OCI temelleri eğitimi: VCN ve alt ağlar, Load Balancer ve Network Load Balancer, Container Instances ile konteyner çalıştırma ve yük dengeli senaryo kurulumu.

Detayları Gör →
Docker ve KonteynerleştirmeRed Hat System Administrator: Containers Eğitimi
DevOps ve Konteyner Eğitimleri

Red Hat System Administrator: Containers Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

RHEL konteyner eğitimi: Podman daemonsuz mimari, rootless konteynerler, SELinux izolasyonu, pod'lar, systemd/Quadlet entegrasyonu ve Buildah ile imaj üretimi.

Detayları Gör →
Docker ve KonteynerleştirmeRobotik için ROS & Docker ile Pratik Hızlı Prototiplendirme Eğitimi
DevOps ve Konteyner Eğitimleri

Robotik için ROS & Docker ile Pratik Hızlı Prototiplendirme Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Robotik için ROS & Docker ile Pratik Hızlı Prototiplendirme: ROS 2, Docker, simülasyon ve multi-arch robotik dağıtım. 3 gün uygulamalı eğitim.

Detayları Gör →
Docker ve KonteynerleştirmeServerless Application & Container Management Eğitimi
DevOps ve Konteyner Eğitimleri

Serverless Application & Container Management Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Serverless Application & Container Management: AWS Lambda, ECS/Fargate, olay tabanlı mimari ve konteyner yönetimi. 3 gün uygulamalı eğitim.

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