Modern C++ Özel Dersi
Modern C++ online özel ders, Modern C++ ile concepts, ranges, coroutines ve modern idiom'lar'i birebir ve esnek bir takvimle öğrenmek isteyenler için tasarlandı. Tüm seanslar online yapılır — Zoom, Google Meet veya Microsoft Teams üzerinden canlı ekran paylaşımıyla. Türkiye'nin her şehrinden ya da yurt dışından katılım fark etmez; ihtiyacın olan tek şey internet bağlantısı ve öğrenme isteği.
Programa; üniversite ödevlerinde takılan öğrenciler, bitirme projesi için Modern C++ öğrenmek isteyenler, bootcamp veya kursta yarıda kalan konuları kapatmaya çalışanlar ve serbest çalışan geliştiriciler katılıyor. Türkiye'nin her şehrinden ve yurt dışından, kendi zaman dilimine uygun ders almak isteyen herkes için uygundur.
Programda işlenen başlıklar — temel kavramlardan ileri konulara doğru ilerler:
- Modern C++ Felsefesi
- Move Semantics
- Smart Pointer Derin
- constexpr ve consteval
- Concepts
- Ranges
- Coroutines
- Modules
Konular tek tek anlatıp geçilmez; her bölümün sonunda gerçek bir senaryo üzerinde uygulanır. Mimari kararlar, hata ayıklama ve okunabilir kod yazmaya zaman ayrılır. Hedef, dersten çıktığında benzer problemleri kendi başına çözebilmendir. Her seans sonrası repo paylaşımı yapılır. Resmi dokümantasyon için C++ dil referansı birincil kaynak olarak kullanılır.
Modern C++ Özel Dersi Konuları
1. Modern C++ Felsefesi
- Eskinin neden kötü olduğu
- Zero-cost abstraction
- Value semantics
- Rule of zero
2. Move Semantics
- Lvalue vs rvalue
- std::move, std::forward
- Move constructor
- Perfect forwarding
3. Smart Pointer Derin
- unique_ptr ownership
- shared_ptr counter
- weak_ptr cycle break
- Custom deleter
4. constexpr ve consteval
- constexpr fonksiyonlar
- if constexpr
- consteval
- constinit
5. Concepts
- requires clause
- Hazır concept tipleri
- Constraint birleştirme
- Template hata mesajı temizliği
6. Ranges
- view kavramı
- filter, transform, take
- Pipe operator
- Lazy evaluation
7. Coroutines
- co_await, co_yield, co_return
- Generator yazımı
- Async task
- cppcoro kullanımı
8. Modules
- import vs include
- Module unit
- Implementation partition
- Build sistem entegrasyonu
9. Template Metaprogramming
- Variadic template
- Fold expression
- if constexpr ile branch
- Type traits
10. Bitirme Projesi
- Concept tabanlı container
- Range pipeline ile veri akışı
- Coroutine ile async I/O
- Modern CMake
Modern C++ Özel Dersi ile İlgili
Sıkça Sorulan Sorular ve Cevapları
Klasik C++ bilmem yeterli mi?
Move semantics ve auto biliyorsan başlayabilirsin. İlk seansta seviye tespit ederiz.
Hangi compiler kullanacağız?
GCC, Clang veya MSVC — modern C++ destekleyen güncel bir sürüm yeterli. Kurulumu birlikte yaparız.
Concepts pratik mi yoksa akademik mi kalıyor?
Pratik. Gerçek hayatta template hata mesajlarını okunabilir hale getirmek için doğrudan kullanıyoruz.
Coroutines üretimde stabil mi?
Dilde stabil ama ekosistem (executor, awaitable) hâlâ gelişiyor. Cppcoro veya kendi promise tipini yazma gösterilir.
Embedded geliştirme için uygun mu?
Evet ama exception ve heap kullanımı kısıtlı ortamlarda dikkat edilmesi gereken yerler ayrıca işlenir.