CONTROL STRUCTURES IN C++: RANGE-BASED FOR LOOPS EĞİTİMİ

Modern C++ ile döngüyü sadeleştir

Range-based for döngüsü, iteratör ve aralık mantığı ile güvenli yineleme teknikleri

C++ Range-based for Döngüleri eğitimi; Söz Dizimi ve Derleyici Açılımı, auto, auto& ve const auto&, Konteynerlerde Yineleme, Kendi Türünü Yinelenebilir Yapmak ve daha fazlası. 2 gün, uygulamalı lab çalışmaları, Digital Vizyon Akademi katılım sertifikası.

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

Eğitim Hakkında

Range-based for Sözdizimi ve Güvenli Yineleme ve Ranges ekseninde ilerleyen uygulamalı program

Bu eğitim C++11 ile gelen range-based for döngüsünün sözdizimini, derleyicinin begin/end çağrılarına nasıl açtığını ve auto, auto& ile const auto& seçimlerinin kopya maliyetine etkisini inceler. Diziler, std::vector, std::map ve initializer_list üzerinde yineleme, structured bindings (C++17), yineleme sırasında konteyner değiştirmenin yol açtığı iteratör geçersizleşmesi ve C++20 ranges/views yaklaşımıyla filtreleme-dönüştürme uygulamalı işlenir.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Range-based for Sözdizimi; 2. gün Güvenli Yineleme ve Ranges.

Seviye

Temel Seviye — Range-based for döngüsü, iteratör ve aralık mantığı ile güvenli yineleme teknikleri

Öğrenme Metodu

Her modülde kısa konu anlatımının ardından g++/clang++ ile derlenen kod egzersizleri yapılır; sanitizer ve derleyici uyarılarıyla hatalar birlikte ayıklanır.

Neden Bu Eğitim?

💻Kod Odaklı Öğrenme

C++ Range-based for Döngüleri konuları her modülde yazıp çalıştırdığınız egzersizlerle pekiştirilir; teori kodla birlikte ilerler.

🐞Gerçek Hata Örnekleri

Sahada sık görülen hatalar bilinçli olarak üretilir, nedenleri incelenir ve kalıcı çözüm kalıpları gösterilir.

🎓Katılım Sertifikası

Eğitimi tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır.

Anahtar Konular

C++ Range-based for Döngüleri eğitimiC++ Range-based for Döngüleri kursurange-based for loopC++ döngülerC++ iteratörstructured bindingsC++20 rangesSTL konteynerleriDigital Vizyon Akademi
“Döngünün sadeliği, hatanın saklanabileceği yerleri azaltı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ına temel düzeyde aşinalık beklenir.

2
Derleyici Ortamı

g++ / clang++ veya MSVC ile C++17 standardında derleme yapabilen bir kurulum gerekir.

3
Komut Satırı

Derleme çıktılarını ve hata mesajlarını okuyabilecek kadar terminal alışkanlığı faydalıdır.

4
Editör veya IDE

VS Code, CLion ya da Visual Studio gibi bir geliştirme ortamı hazır olmalı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ı range-based for döngüsünü diziler ve STL konteynerleri üzerinde doğru değişken tipi seçimiyle kullanır.
Modül 1
Söz Dizimi ve Derleyici Açılımı
  • for (decl : range) yapısı ve eşdeğer klasik döngü
  • Derleyicinin begin() ve end() çağrılarına açılımı
  • C tarzı diziler üzerinde boyutun otomatik bilinmesi
  • std::array ve std::vector ile kullanım
  • initializer_list üzerinde yineleme (for (int x : {1,2,3}))
  • Eski tip for ile okunabilirlik karşılaştırması
Modül 2
auto, auto& ve const auto&
  • Değer ile yinelemede kopyalama maliyeti
  • auto& ile elemanı yerinde değiştirme
  • const auto& ile salt okunur ve kopyasız erişim
  • auto&& ile forwarding reference kullanımı
  • std::vector<bool> proxy referans tuzağı
  • Büyük std::string nesnelerinde kopya farkının ölçülmesi
Modül 3
Konteynerlerde Yineleme
  • std::map ve std::unordered_map üzerinde pair<const K,V> erişimi
  • C++17 structured bindings: for (auto& [k, v] : m)
  • std::set sıralı yinelemesi ve elemanın değiştirilemezliği
  • std::string karakterleri üzerinde yineleme
  • İç içe konteynerlerde (vector<vector<int>>) çift döngü
  • Ters yineleme için yardımcı sarmalayıcı yazımı
Modül 4
Kendi Türünü Yinelenebilir Yapmak
  • begin() ve end() üye fonksiyonlarının tanımlanması
  • Minimal iteratör sınıfı: operator*, operator++, operator!=
  • Serbest begin/end fonksiyonları ile ADL desteği
  • Sentinel kavramına kısa bakış
  • Aralık sarmalayıcı sınıf (IntRange) uygulaması
  • Derleyici hata mesajlarının okunması
Günün hedefiKatılımcı yineleme sırasındaki yaygın hataları önler ve C++20 ranges ile filtre-dönüştür boru hatları kurar.
Modül 1
Iteratör Geçersizleşmesi
  • Yineleme sırasında push_back çağrısının tanımsız davranışı
  • erase ile elemanı silerken doğru kalıp (erase-remove)
  • std::map'te silme ve iteratör ilerletme
  • fsanitize=address ile hataların yakalanması
  • Alternatif olarak indeks tabanlı döngü ne zaman gerekir
  • Silinecekleri önce toplama deseni
Modül 2
Geçici Nesne Ömrü Tuzakları
  • Aralık ifadesinin ömrü ve dangling reference riski
  • Fonksiyonun döndürdüğü geçici konteyner üzerinde yineleme
  • for (auto x : f().g()) örneğindeki ömür hatası
  • C++23 aralık ifadesindeki geçici ömür uzatma düzeltmesi
  • Referans döndüren getter'lar ve güvenli kullanım
  • Kod incelemesi alıştırması
Modül 3
Koşullu ve İndeksli Yineleme
  • Döngü içinde continue ve break davranışı
  • C++20 init-statement: for (int i=0; auto& x : v)
  • İndeks gerektiğinde std::views::enumerate (C++23) ve manuel sayaç
  • İki konteyneri birlikte gezmek ve zip yaklaşımı
  • Erken çıkış için std::find_if ile döngü karşılaştırması
  • Algoritma çağırmanın döngüden daha okunaklı olduğu durumlar
Modül 4
C++20 Ranges ve Views
  • std::views::filter ve transform ile lazy boru hattı
  • std::views::iota ve take ile sonsuz diziler
  • Boru operatörü ile birleştirme
  • std::ranges::sort ve ranges algoritmaları
  • views ile sahiplik: view'ün veriyi kopyalamaması
  • Derleyici desteği ve -std=c++20 ayarı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sözdizimi

Range-based for döngüsünün derleyici açılımını bilerek yazabilirsiniz

✅
Değişken Tipi Seçimi

auto, auto& ve const auto& arasında doğru seçim yapabilirsiniz

✅
Map Yinelemesi

Structured bindings ile map ve pair yapılarını okunaklı gezebilirsiniz

✅
Özel Türler

begin/end tanımlayarak kendi sınıflarınızı yinelenebilir kılabilirsiniz

✅
Geçersiz İteratör

Yineleme sırasında konteyner değiştirmenin tanımsız davranışlarını önleyebilirsiniz

✅
Ömür Hataları

Geçici nesne kaynaklı dangling referans hatalarını tespit edebilirsiniz

✅
Ranges Kullanımı

C++20 views ile filtre ve dönüşüm boru hatları kurabilirsiniz

✅
Kod Okunabilirliği

Klasik döngüleri uygun yerlerde range-based biçime dönüştürebilirsiniz

Kimler İçin Uygundur?

  • Klasik for döngüsünden modern C++ yineleme biçimlerine geçmek isteyen geliştiriciler
  • öğrenciler
  • STL konteynerlerini daha okunaklı kullanmak isteyenler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Klasik for döngüsünden modern C++ yineleme biçimlerine geçmek isteyen geliştiriciler, öğrenciler ve STL konteynerlerini daha okunaklı kullanmak isteyenler için uygundur.
Eğitimde hangi konular işlenir?
Program 2 gün sürer ve şu modülleri içerir: Söz Dizimi ve Derleyici Açılımı, auto, auto& ve const auto&, Konteynerlerde Yineleme, Kendi Türünü Yinelenebilir Yapmak, Iteratör Geçersizleşmesi, Geçici Nesne Ömrü Tuzakları, Koşullu ve İndeksli Yineleme, C++20 Ranges ve Views.
Range-based for döngüsü klasik for'dan daha hızlı mıdır?
Genellikle aynı kodu üretir; kazanç okunabilirlik ve hata azaltmadadır. Kopya maliyeti ise değişken tipi seçimine bağlıdır ve eğitimde ölçülür.
C++20 ranges için güncel derleyici gerekli mi?
Ranges modülleri GCC 10+, Clang 15+ veya MSVC 19.29+ ister; C++11/17 bölümleri daha eski derleyicilerle de çalışır.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir; programın dışında bir resmi sınav söz konusu değildir.

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. Control Structures in C++: Range-based for Loops 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

C ve C++Defensive C++: Software Engineering Principles & Types of Errors Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive C++: Software Engineering Principles & Types of Errors Eğitimi

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

Defensive C++: Mühendislik İlkeleri ve Hata Türleri eğitimi: 2 gün, uygulamalı kod egzersizleri ve DVA katılım sertifikası ile konuyu uçtan uca öğrenin.

Detayları Gör →
C ve C++Defensive C++: Writing Defensive C++ Code Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive C++: Writing Defensive C++ Code Eğitimi

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

Defensive C++: Savunmacı Kod Yazımı eğitimi: Güvenli Veri İşleme ve Dayanıklı Kod Kalıpları konularını uygulamalı örneklerle öğrenin. DVA katılım sertifikalı pr

Detayları Gör →
C ve C++Defensive Coding Best Practices for C/C++ Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive Coding Best Practices for C/C++ Eğitimi

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

Defensive Coding Best Practices C/C++ eğitimi: 2 gün, uygulamalı kod egzersizleri ve DVA katılım sertifikası ile konuyu uçtan uca öğrenin.

Detayları Gör →
C ve C++Defensive Coding for C/C++ Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive Coding for C/C++ Eğitimi

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

Defensive Coding for C/C++ eğitimi: Girdi ve Bellek Güvenliği ve Hata Yönetimi ve Doğrulama konularını uygulamalı örneklerle öğrenin. DVA katılım sertifikalı pr

Detayları Gör →
C ve C++Defensive Coding Fundamentals for C/C++ Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive Coding Fundamentals for C/C++ Eğitimi

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

Defensive Coding Fundamentals C/C++ eğitimi: Hatanın Anatomisi ve Güvenli Kodlama Alışkanlıkları uygulamalı lab çalışmalarıyla işlenir. DVA katılım sertifikalı.

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