FIRST-CLASS FUNCTIONS IN C++: USING LAMBDAS & CLOSURES EĞİTİMİ

Lambda ve closure ile ifade gücü

Lambda ifadeleri, yakalama kipleri, closure türü ve genel (generic) lambda kullanımı

C++ Lambda ve Closure eğitimi; Lambda Temelleri, Yakalama Kipleri, Gelişmiş Yakalama, Closure Nesnesi ve daha fazlası. 2 gün, uygulamalı lab çalışmaları, Digital Vizyon Akademi katılım sertifikası.

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

Eğitim Hakkında

Lambda Sözdizimi ve Yakalama ve Generic Lambda ve Kullanım Desenleri ekseninde ilerleyen uygulamalı program

Bu eğitim C++ lambda ifadelerinin tamamını kapsar: [] yakalama listesi, değer ve referans ile yakalama, [=] ve [&] riskleri, mutable, dönüş tipi çıkarımı, generic lambda (auto parametre), init-capture (C++14), [this] ve [*this], constexpr lambda, şablonlu lambda (C++20), closure nesnesinin derleyici üretimli sınıf olarak yapısı, std::function ile saklama ve ömür sorunları. Algoritmalar ve asenkron kodla kullanımı uygulanır.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Lambda Sözdizimi ve Yakalama; 2. gün Generic Lambda ve Kullanım Desenleri.

Seviye

Orta Seviye — Lambda ifadeleri, yakalama kipleri, closure türü ve genel (generic) lambda kullanımı

Öğ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++ Lambda ve Closure 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++ Lambda ve Closure eğitimiC++ Lambda ve Closure kursuC++ lambdaclosurelambda capturegeneric lambdaC++20 lambdaC++ modernDigital Vizyon Akademi
“Küçük bir lambda, doğru yakalandığında büyük bir sade tasarımdı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ı lambda ifadelerini yakalama kiplerini doğru seçerek yazar ve closure davranışını açıklar.
Modül 1
Lambda Temelleri
  • [capture](params) -> ret { body } yapısı
  • Dönüş tipi çıkarımı
  • Anında çağrılan lambda (IIFE) ile karmaşık başlatma
  • Lambda'yı değişkende auto ile tutma
  • std::sort, find_if ve for_each içinde kullanım
  • Lambda ve fonksiyon işaretçisi dönüşümü
Modül 2
Yakalama Kipleri
  • Değer ile yakalama [x] ve referans ile yakalama [&x]
  • Varsayılan yakalama [=] ve [&] riskleri
  • mutable anahtar sözcüğü
  • Sabit yakalama ve kopya zamanı
  • Yakalanan değişkenin ömrü ve dangling referans
  • Yakalamada const davranışı
Modül 3
Gelişmiş Yakalama
  • Init-capture [p = std::move(ptr)] (C++14)
  • move-only türlerin lambda'ya taşınması
  • [this] yakalama ve [*this] (C++17)
  • Üye değişkene erişim ve ömür sorunları
  • Parametre paketi yakalama (C++20)
  • Yakalamasız lambda ve constexpr (C++17)
Modül 4
Closure Nesnesi
  • Derleyicinin ürettiği isimsiz sınıf ve operator()
  • Closure boyutu ve sizeof incelemesi
  • Her lambda'nın benzersiz türü
  • decltype ile closure türü
  • Closure kopyalama ve taşıma
  • Compiler Explorer ile üretilen kodu inceleme
Günün hedefiKatılımcı generic ve şablonlu lambda'ları algoritmalarda, asenkron kodda ve kalıplarda güvenle kullanır.
Modül 1
Generic ve Şablonlu Lambda
  • auto parametreli lambda (C++14)
  • Perfect forwarding: auto&& ve std::forward
  • C++20 şablon sözdizimi []<typename T>(T x)
  • Kısıtlı lambda: requires ve concept
  • Özyinelemeli lambda (std::function veya deducing this)
  • Generic lambda ile karşılaştırıcılar
Modül 2
Lambda ve Standart Kütüphane
  • Predicate, comparator ve projeksiyon
  • std::transform, accumulate ve partition
  • std::ranges ve views::transform ile lambda
  • Sıralamada çok anahtarlı karşılaştırma
  • std::function, std::move_only_function (C++23)
  • unordered_map için özel hash lambda
Modül 3
Asenkron ve Eşzamanlı Kullanım
  • std::thread ve std::async içinde lambda
  • Referansla yakalamanın thread güvenliği
  • Ömür hatası: iş parçacığı lambda'dan sonra yaşıyor
  • std::jthread ve stop_token
  • Promise/future ile sonuç aktarma
  • Mutex ile korunan paylaşılan yakalama
Modül 4
Kalıplar ve Tuzaklar
  • Lambda ile RAII/scope guard yazımı
  • Callback kayıt sistemi ve closure ömrü
  • Lambda uzunluğu ve okunabilirlik sınırı
  • Sık yapılan hatalar kod incelemesi
  • Lambda yerine adlandırılmış fonksiyon ne zaman
  • Mini proje: olay sistemi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Lambda Sözdizimi

Lambda ifadelerini dönüş ve parametre türleriyle doğru yazabilirsiniz

✅
Yakalama Kipleri

Değer ve referans yakalamanın sonuçlarını öngörebilirsiniz

✅
Init-capture

Move-only nesneleri lambda'ya taşıyabilirsiniz

✅
this Yakalama

[this] ve [*this] farkıyla ömür hatalarını önleyebilirsiniz

✅
Closure Anlayışı

Closure'ın derleyici üretimli sınıf olduğunu gösterebilirsiniz

✅
Generic Lambda

auto ve şablonlu lambda ile yeniden kullanılabilir kod yazabilirsiniz

✅
Eşzamanlı Kullanım

Thread ve async içinde güvenli yakalama yapabilirsiniz

✅
Tasarım Kararı

Lambda ve adlandırılmış fonksiyon arasında doğru seçim yapabilirsiniz

Kimler İçin Uygundur?

  • C++11 ve sonrasını kullanan
  • lambda'yı doğru
  • güvenli yazmak isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C++11 ve sonrasını kullanan, lambda'yı doğru ve güvenli yazmak isteyen geliştiriciler için uygundur.
Eğitimde hangi konular işlenir?
Program 2 gün sürer ve şu modülleri içerir: Lambda Temelleri, Yakalama Kipleri, Gelişmiş Yakalama, Closure Nesnesi, Generic ve Şablonlu Lambda, Lambda ve Standart Kütüphane, Asenkron ve Eşzamanlı Kullanım, Kalıplar ve Tuzaklar.
Hangi C++ sürümü gerekir?
Lambda C++11 ile gelir; generic lambda C++14, [*this] C++17, şablonlu lambda C++20'dir. Örnekler C++20 destekli derleyiciyle çalıştırılır.
Lambda ile std::function farkı nedir?
Lambda bir closure türü, std::function ise tip silen sarmalayıcıdır; eğitimde boyut ve performans farkları ölçülü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. First-class Functions in C++: Using Lambdas & Closures Eğiti 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

C ve C++C++ Updates Eğitimi
Yazılım Geliştirme Eğitimleri

C++ Updates Eğitimi

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

C++ Updates eğitimi: C++11, 14, 17, 20 ve 23 yenilikleri; lambda, move, optional, concepts, ranges, coroutines, modules ve std::format ile geçiş planı.

Detayları Gör →
C ve C++C++: Creating a Complete Game in SFML Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Creating a Complete Game in SFML Eğitimi

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

C++ ile SFML'de eksiksiz oyun geliştirme eğitimi: oyun durumu yönetimi, sprite animasyon, tilemap, çarpışma, düşman yapay zekâsı, ses, menü ve paketleme.

Detayları Gör →
C ve C++C++: Function Templates with Multiple Parameters & Non-type Parameters Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Function Templates with Multiple Parameters & Non-type Parameters Eğitimi

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

C++ çok parametreli fonksiyon şablonları ve non-type parametreler: tür çıkarımı, common_type, varsayılan şablon argümanı, template<int N>, constexpr ve aşırı yü

Detayları Gör →
C ve C++C++: Getting Started with Operator Overloading Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Getting Started with Operator Overloading Eğitimi

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

C++ operatör aşırı yükleme başlangıç eğitimi: üye ve global operatörler, friend, operator+, operator==, operator[], const doğruluğu ve C++20 spaceship operatörü

Detayları Gör →
C ve C++C++: Introduction to Graphics with SFML Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Introduction to Graphics with SFML Eğitimi

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

C++ ile SFML grafik programlamaya giriş: pencere, olay döngüsü, şekil, sprite, texture, metin, sf::Clock, sf::View ve temel animasyon uygulamaları.

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