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

Fonksiyonları değer gibi taşı

Fonksiyon işaretçileri, std::function, functor ve fonksiyonların birinci sınıf değer olarak kullanımı

C++ First-class Functions eğitimi; Fonksiyon İşaretçileri, Parametre ve Dönüş Olarak Fonksiyon, std::function, Üye Fonksiyonlar ve std::invoke 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

Fonksiyon Tipleri ve İşaretçiler ve Functor ve Callback Tasarımı ekseninde ilerleyen uygulamalı program

Bu eğitim C++'ta fonksiyonların birinci sınıf değer gibi kullanımını anlatır: fonksiyon işaretçileri, using ile fonksiyon tipi takma adı, std::function, std::bind, functor (operator() aşırı yüklemesi), üye fonksiyon işaretçileri, geri çağırma (callback) tasarımı, algoritmalara fonksiyon geçirme (std::sort, std::transform), yüksek dereceli fonksiyonlar ve std::invoke. Maliyet ve inline farkları tartışılır.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Fonksiyon Tipleri ve İşaretçiler; 2. gün Functor ve Callback Tasarımı.

Seviye

Orta Seviye — Fonksiyon işaretçileri, std::function, functor ve fonksiyonların birinci sınıf değer olarak 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++ First-class Functions 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++ First-class Functions eğitimiC++ First-class Functions kursuC++ first-class functionsstd::functionfunction pointerfunctorstd::bindC++ callbackDigital Vizyon Akademi
“Fonksiyonu taşıyabilen kod, davranışı da parametre yapabilir.”

Ö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ı fonksiyon işaretçileri ve std::function ile fonksiyonları parametre, dönüş ve veri üyesi olarak kullanır.
Modül 1
Fonksiyon İşaretçileri
  • int (*f)(int, int) bildirimi ve okuma
  • Fonksiyon adının işaretçiye bozunması (decay)
  • using ile fonksiyon tipi takma adı
  • Fonksiyon işaretçisi dizisi ve komut tablosu
  • nullptr kontrolü ve çağırma
  • C tarzı callback (qsort) örneği
Modül 2
Parametre ve Dönüş Olarak Fonksiyon
  • Fonksiyon alan fonksiyonlar (yüksek dereceli)
  • Fonksiyon döndüren fonksiyonlar
  • Şablon parametresi olarak çağrılabilir türler
  • map, filter, reduce benzeri yardımcılar yazımı
  • std::transform ve std::accumulate ile kullanım
  • Okunabilirlik ve tip çıkarımı
Modül 3
std::function
  • std::function<R(Args...)> bildirimi ve esnekliği
  • Fonksiyon, lambda ve functor saklama
  • Boş std::function ve bad_function_call
  • Tip silme (type erasure) maliyeti
  • std::function ile işaretçi karşılaştırması
  • std::function'ı veri üyesi olarak tutma
Modül 4
Üye Fonksiyonlar ve std::invoke
  • Üye fonksiyon işaretçisi sözdizimi (.* ve ->*)
  • std::mem_fn ile sarmalama
  • std::invoke ile tek biçimli çağrı
  • std::bind ve std::placeholders
  • bind yerine lambda tercihinin nedeni
  • std::bind_front (C++20)
Günün hedefiKatılımcı functor sınıfları ve callback mimarilerini algoritmalar ve olay sistemi içinde uygular.
Modül 1
Functor (Fonksiyon Nesnesi)
  • operator() aşırı yüklemesi
  • Durum tutan functor (sayaç, eşik)
  • std::less, std::greater ve şeffaf karşılaştırıcılar
  • Functor'ın inline edilebilirliği
  • std::sort ile özel karşılaştırıcı
  • Functor ve lambda karşılaştırması
Modül 2
Callback Mimarisi
  • Olay işleyici kaydı (observer) tasarımı
  • std::vector<std::function<void(Event)>> kullanımı
  • Callback ömrü ve dangling referans sorunu
  • Hata ve istisna güvenliği
  • Asenkron callback ve iş parçacığı
  • C API ile callback köprüsü (void* userdata)
Modül 3
Standart Algoritmalarla Birlikte
  • std::sort, find_if, count_if, remove_if
  • std::for_each ve transform
  • Özel predicate yazımı
  • Tek kullanımlık function_ref fikri
  • C++20 ranges projeksiyonları
  • Performans: işaretçi, std::function ve şablon parametresi ölçümü
Modül 4
Uygulama: Komut ve Strateji
  • Strateji deseninin std::function ile gerçeklenmesi
  • Komut tablosu ile menü sistemi
  • Undo/redo için komut kuyruğu
  • Plug-in benzeri fonksiyon kayıt defteri
  • Birim test: callback çağrı sayısı
  • Tasarım karşılaştırması: sanal fonksiyon ile std::function

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Fonksiyon İşaretçisi

Fonksiyon işaretçilerini tanımlayıp tablo ve callback olarak kullanabilirsiniz

✅
Yüksek Dereceli İşlev

Fonksiyon alan ve döndüren yardımcılar yazabilirsiniz

✅
std::function

Çağrılabilir nesneleri tipten bağımsız saklayabilirsiniz

✅
std::invoke

Üye fonksiyon ve işlevleri tek biçimle çağırabilirsiniz

✅
Functor Yazımı

Durum tutan fonksiyon nesneleri tasarlayabilirsiniz

✅
Callback Tasarımı

Ömür güvenli olay işleyici mimarisi kurabilirsiniz

✅
Algoritma Entegrasyonu

STL algoritmalarına özel predicate ve karşılaştırıcı verebilirsiniz

✅
Tasarım Deseni

Strateji ve komut desenlerini fonksiyon değerleriyle uygulayabilirsiniz

Kimler İçin Uygundur?

  • C++ temellerini bilen
  • callback tabanlı tasarımlar
  • fonksiyonel kalıplar yazmak isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C++ temellerini bilen, callback tabanlı tasarımlar ve fonksiyonel kalıplar 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: Fonksiyon İşaretçileri, Parametre ve Dönüş Olarak Fonksiyon, std::function, Üye Fonksiyonlar ve std::invoke, Functor (Fonksiyon Nesnesi), Callback Mimarisi, Standart Algoritmalarla Birlikte, Uygulama: Komut ve Strateji.
std::function her zaman uygun mudur?
Hayır; tip silme küçük bir maliyet getirir. Eğitimde şablon parametresi ile std::function karşılaştırılır ve seçim ölçütleri verilir.
Lambda'lar bu eğitimde işleniyor mu?
Lambda kısaca tanıtılır; ayrıntılı kapsam için First-class Functions in C++: Using Lambdas & Closures eğitimi ayrıdı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++: Defining & Using First-class F 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++Defensive C++: Managing Memory Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive C++: Managing Memory Eğitimi

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

Defensive C++: Bellek Yönetimi eğitimi: Bellek Hataları ve Teşhisi ve Sahiplik ve Güvenli Bellek Kullanımı uygulamalı lab çalışmalarıyla işlenir. DVA katılım se

Detayları Gör →
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 →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn