CodeBlanks Logo Icon CodeBlanks
Ücretsiz 4 seviye C++

C++

C++20 ile değişkenlerden OOP, şablonlar, modern C++ ve uzman seviye konulara kadar tüm temelleri öğrenin.

C++ kursu değişkenler, OOP, şablonlar, STL, modern C++ (17/20), concurrency, metaprogramming ve performans optimizasyonu ile tüm seviyeleri kapsar.

  • 362 ders
  • 30 sa 22 dk
  • 10 proje

Hesap gerekmez, hemen başlayabilirsin. İlerlemeni kaydetmek istersen ücretsiz hesap aç

Seviyeler

C++ kursu dört seviyede sıfırdan uzmanlığa ilerler. İstediğin seviyeden başlayabilirsin.
Seviyeni bilmiyor musun? Seviye testini çöz
Başlangıç

C++20 temellerini öğrenirsin: değişkenler, veri türleri, döngüler, diziler, std::vector, fonksiyonlar ve referanslar.

  • C++ temelleri
  • Değişkenler
  • Veri türleri
  • Operatörler
116 ders · 9 sa 25 dk Dersleri gör →
Orta

Orta seviye

C++'ta OOP, şablonlar, std lib algoritmaları, iterator'lar, lambda ve dosya I/O öğrenirsin.

  • Sınıflar
  • Yapıcı metot
  • Miras alma
  • Kapsülleme
116 ders · 9 sa 57 dk Dersleri gör →
İleri

İleri seviye

C++'ta modern C++ (17/20), concurrency, metaprogramming, tasarım desenleri ve test temelleri öğrenirsin.

  • Modern C++
  • Variadic template'ler
  • Type traits
  • Concurrency temelleri
83 ders · 7 sa 0 dk Dersleri gör →
Uzman

C++'ta metaprogramming, derleyici iç yapıları, ABI, performans optimizasyonu ve gömülü C++ öğrenirsin.

  • Metaprogramming
  • constexpr ve consteval
  • Bellek modeli
  • ABI ve ikili uyumluluk
47 ders · 4 sa 0 dk Dersleri gör →

Yapacağın projeler

Her seviyede öğrendiklerini gerçek bir sayfada birleştirirsin.

Nasıl çalışıyor?

Kısa anlatım

Her ders tek bir kavramı birkaç kısa kartla anlatır; uzun video ya da metin yok.

Hemen dene

Çoktan seçmeli, boşluk doldurma ve eşleştirme sorularıyla öğrendiğini anında pekiştirirsin.

Kendin yaz

Tarayıcıdaki editörde gerçek kod yazarsın; kodun anında kontrol edilir ve sonucu canlı görürsün.

Müfredat

62 grup · 362 ders · 30 sa 22 dk

C++20 temellerini öğrenirsin: değişkenler, veri türleri, döngüler, diziler, std::vector, fonksiyonlar ve referanslar.

1
C++ temelleri
6 ders · 24 dk
  1. 1 C++ nedir? C++'ın güçlü, çok paradigmalı bir dil olduğunu ve derleme sürecini öğrenirsin. 4 dk
  2. 2 İlk program main fonksiyonu, #include ve iostream ile ilk C++ programını yazmayı öğrenirsin. 4 dk
  3. 3 std::cout std::cout ile metin ve değişkenleri ekrana yazdırmayı öğrenirsin. 4 dk
  4. 4 std::cin std::cin ile kullanıcıdan girdi almayı öğrenirsin. 4 dk
  5. 5 Yorumlar Tek satır (//) ve çok satırlı (/* */) yorumları C++'da nasıl yazacağını öğrenirsin. 3 dk
  6. 6 Özet - C++ temelleri main, cout ve cin'i birleştirerek ilk C++ programını yazarsın. 5 dk
2
Değişkenler
6 ders · 25 dk
  1. 1 Değişken tanımlama int, double, char, bool ve float türlerinde değişken tanımlamayı öğrenirsin. 4 dk
  2. 2 auto auto anahtar kelimesiyle türü derleyicinin çıkardığı değişkenler tanımlamayı öğrenirsin. 4 dk
  3. 3 const const anahtar kelimesiyle değiştirilemez değişkenler tanımlamayı öğrenirsin. 4 dk
  4. 4 constexpr constexpr ile derleme zamanı sabitleri tanımlamayı öğrenirsin. 4 dk
  5. 5 Tür dönüşümü static_cast ve örtük tür dönüşümünü öğrenirsin. 4 dk
  6. 6 Özet - Değişkenler Türlerle değişken tanımlayarak küçük bir profil programı yazarsın. 5 dk
3
Veri türleri
6 ders · 25 dk
  1. 1 Tam sayı türleri int, short, long, long long ve unsigned türlerini öğrenirsin. 4 dk
  2. 2 Ondalıklı türler float, double ve long double türlerini öğrenirsin. 4 dk
  3. 3 bool ve char bool ile mantıksal ve char ile karakter saklamayı öğrenirsin. 3 dk
  4. 4 std::string std::string ile metin saklamayı öğrenirsin. 4 dk
  5. 5 sizeof sizeof operatörü ile tür boyutlarını öğrenirsin. 5 dk
  6. 6 Özet - Veri türleri Tam sayı, ondalık ve string türlerini birleştirerek bir hesap kartı yazarsın. 5 dk
4
Proje: Hesap makinesiProje
5 ders · 30 dk
  1. 1 Proje tasarımı Hesap makinesi projesinin yapısını taşarlar ve iskelet kodu yazarsın. 6 dk
  2. 2 Toplama ve çıkarma Toplama ve çıkarma fonksiyonlarını ekler ve test edersin. 6 dk
  3. 3 Çarpma ve bölme Çarpma, bölme ve sıfıra bölme kontrolünü eklersin. 6 dk
  4. 4 Hata yönetimi try/catch ile geçersiz girdileri güvenle yakalarsın. 6 dk
  5. 5 Birleştirme Tüm parçaları birleştirerek çalışan bir hesap makinesi yazarsın. 6 dk
5
Operatörler
6 ders · 26 dk
  1. 1 Aritmetik operatörler +,-,*,/ ve % ile temel aritmetik işlemleri yapmayı öğrenirsin. 4 dk
  2. 2 Atama operatörleri =, +=, -=, *=, /= ve ++/-- ile kısayol atamalarını öğrenirsin. 4 dk
  3. 3 Karşılaştırma operatörleri ==, !=, <, >, <= ve >= ile değerleri karşılaştırmayı öğrenirsin. 4 dk
  4. 4 Mantıksal operatörler &&, || ve ! ile boolean mantık kurmayı öğrenirsin. 4 dk
  5. 5 Bitsel operatörler &, |, ^, ~, << ve >> ile bitsel işlemleri öğrenirsin. 5 dk
  6. 6 Özet - Operatörler Aritmetik, karşılaştırma ve bitsel operatörleri birleştirerek bir not hesaplayıcı yazarsın. 5 dk
6
Dizeler
6 ders · 29 dk
  1. 1 std::string temelleri std::string oluşturmayı ve başlatmayı öğrenirsin. 4 dk
  2. 2 String birleştirme + operatörü ve append ile metin birleştirmeyi öğrenirsin. 5 dk
  3. 3 String length .length() ve .size() ile dize uzunluğunu öğrenirsin. 5 dk
  4. 4 Substring .substr() ile bir dizenin parçasını almayı öğrenirsin. 5 dk
  5. 5 String arama .find() ile dizede arama yapmayı öğrenirsin. 5 dk
  6. 6 Özet - Dizeler Birleştirme, substr ve find'ı birleştirerek bir kartvizit yazarsın. 5 dk
7
Koşullar
6 ders · 28 dk
  1. 1 if deyimi if ile bir koşulu nasıl kontrol edeceğini ve kod bloğunu öğrenirsin. 4 dk
  2. 2 else ve else if Alternatif durumlar için else ve else if zincirlerini öğrenirsin. 4 dk
  3. 3 switch deyimi switch, case, break ve default ile çoklu durum seçmeyi öğrenirsin. 5 dk
  4. 4 Ternary operatörü ? : ile tek satırda koşullu ifade yazmayı öğrenirsin. 5 dk
  5. 5 İç içe koşullar İç içe if ve switch ile karmaşık mantık kurmayı öğrenirsin. 5 dk
  6. 6 Özet - Koşullar if, switch ve ternary'yi birleştirerek bir hafta günü uygulaması yazarsın. 5 dk
8
Döngüler
6 ders · 26 dk
  1. 1 for döngüsü for ile sayılı döngü yazmayı ve sayaç kullanmayı öğrenirsin. 4 dk
  2. 2 while döngüsü while ile koşul sağlandıkça çalışan döngüyü öğrenirsin. 4 dk
  3. 3 do-while döngüsü do-while ile en az bir kez çalışan döngüyü öğrenirsin. 4 dk
  4. 4 Range-based for Range-based for ile koleksiyonların üzerinde gezinmeyi öğrenirsin. 5 dk
  5. 5 break ve continue break ile döngüden çıkmayı ve continue ile atlama yapmayı öğrenirsin. 4 dk
  6. 6 Özet - Döngüler for, while ve range-based for'u birleştirerek bir çarpım tablosu yazarsın. 5 dk
9
Proje: Alışveriş sepetiProje
5 ders · 30 dk
  1. 1 Sepet tasarımı Alışveriş sepeti için struct ve vector tasarlarsın. 6 dk
  2. 2 Ürün ekleme Sepete ürün ekleyen fonksiyonu yazarsın. 6 dk
  3. 3 Toplam hesaplama Subtotal ve vergi dahil toplamı hesaplamayı öğrenirsin. 6 dk
  4. 4 Sepeti listeleme Sepetteki ürünleri formatlı yazdıran fonksiyonu yazarsın. 6 dk
  5. 5 Birleştirme Sepet fonksiyonlarını menüyle birleştirirsin. 6 dk
10
Diziler
6 ders · 28 dk
  1. 1 C-style dizi int[] ve double[] ile C tarzı dizi tanımlamayı öğrenirsin. 4 dk
  2. 2 Dizi erişimi Dizin ile dizi elemanlarına erişmeyi ve değiştirmeyi öğrenirsin. 4 dk
  3. 3 std::array std::array ile modern ve güvenli dizi kullanmayı öğrenirsin. 5 dk
  4. 4 Çok boyutlu dizi int[][] ile matris biçiminde çok boyutlu dizi öğrenirsin. 5 dk
  5. 5 Diziler ve döngüler for ile dizinin üzerinde gezinmeyi öğrenirsin. 5 dk
  6. 6 Özet - Diziler C-style ve std::array ile bir not tablosu yazarsın. 5 dk
11
std::vector
6 ders · 30 dk
  1. 1 vector tanımlama std::vector ile dinamik dizi oluşturmayı öğrenirsin. 5 dk
  2. 2 push_back push_back ile vector'a eleman eklemeyi öğrenirsin. 5 dk
  3. 3 size ve at .size() ve .at() ile vector yönetimini öğrenirsin. 5 dk
  4. 4 vector erişimi [] operatörü ile vector elemanlarına erişmeyi öğrenirsin. 5 dk
  5. 5 vector döngüsü Range-based for ile vector üzerinde gezinmeyi öğrenirsin. 5 dk
  6. 6 Özet - std::vector push_back, size ve range-based for'u birleştirerek bir sınıf listesi yazarsın. 5 dk
12
Fonksiyonlar
6 ders · 27 dk
  1. 1 Fonksiyon tanımlama Bir fonksiyonu nasıl tanımlayacağını ve çağıracağını öğrenirsin. 4 dk
  2. 2 Return değerleri return ile fonksiyondan değer döndürmeyi öğrenirsin. 4 dk
  3. 3 Parametreler Fonksiyona parametre geçmeyi öğrenirsin. 4 dk
  4. 4 Fonksiyon overloading Aynı isimli fonksiyonları farklı parametrelerle tanımlamayı öğrenirsin. 5 dk
  5. 5 Default parametreler Varsayılan değerli parametreler tanımlamayı öğrenirsin. 5 dk
  6. 6 Özet - Fonksiyonlar Overloading ve default parametreleri birleştirerek bir hesap yardımcı sınıfı yazarsın. 5 dk
13
Referanslar
6 ders · 30 dk
  1. 1 Referans nedir? Referansın bir değişkenin diğer adı olduğunu öğrenirsin. 5 dk
  2. 2 Referans tanımlama & ile referans tanımlamayı öğrenirsin. 5 dk
  3. 3 Referans parametreleri Fonksiyona referansla geçme ve değişikliğin yansımasını öğrenirsin. 5 dk
  4. 4 const referans const referans ile güvenli ve verimli geçiş öğrenirsin. 5 dk
  5. 5 Dangling referans Dangling referans kavramını ve güvenliği öğrenirsin. 5 dk
  6. 6 Özet - Referanslar Referans, const referans ve güvenliği birleştirerek bir takas fonksiyonu yazarsın. 5 dk
14
İşaretçi temelleri
6 ders · 30 dk
  1. 1 İşaretçi nedir? İşaretçinin bir bellek adresi tuttuğunu ve * ile erişildiğini öğrenirsin. 5 dk
  2. 2 & adres operatörü & ile değişken adresini almayı öğrenirsin. 5 dk
  3. 3 * işaretçi erişimi * ile işaretçinin gösterdiği değere erişmeyi öğrenirsin. 5 dk
  4. 4 nullptr nullptr ile modern null işaretçi kavramını öğrenirsin. 5 dk
  5. 5 İşaretçi aritmetiği İşaretçi üzerinde + ve - ile aritmetik yapmayı öğrenirsin. 5 dk
  6. 6 Özet - İşaretçi temelleri &, * ve nullptr'yi birleştirerek bir takas fonksiyonu yazarsın. 5 dk
15
Proje: Yapılacaklar listesiProje
5 ders · 30 dk
  1. 1 Görev modeli Task struct'ını ve vector'ü tasarlarsın. 6 dk
  2. 2 Görev ekleme addTask fonksiyonuyla listeye görev eklemeyi öğrenirsin. 6 dk
  3. 3 Görev listeleme listTasks ile görevleri formatlı yazdırmayı öğrenirsin. 6 dk
  4. 4 Görev tamamlama completeTask ile görev durumunu güncellemeyi öğrenirsin. 6 dk
  5. 5 Birleştirme Menü döngüsüyle çalışan bir CLI uygulaması yazarsın. 6 dk
16
İleri dize işlemleri
6 ders · 30 dk
  1. 1 String akımları std::istringstream ve ostringstream ile dize akımlarını öğrenirsin. 5 dk
  2. 2 stoi ve stod stoi ve stod ile dizeden sayıya dönüşüm öğrenirsin. 5 dk
  3. 3 to_string to_string ile sayıdan dizeye dönüşüm öğrenirsin. 5 dk
  4. 4 String karşılaştırma String karşılaştırma operatörlerini öğrenirsin. 5 dk
  5. 5 String değiştirme .replace() ve .insert() ile dize değiştirmeyi öğrenirsin. 5 dk
  6. 6 Özet - İleri dize stringstream, stoi ve to_string'i birleştirerek bir CSV ayrıştırıcı yazarsın. 5 dk
17
Yapılar
6 ders · 29 dk
  1. 1 struct tanımlama struct ile birden çok alanı birleştiren yapı tanımlamayı öğrenirsin. 5 dk
  2. 2 Struct kullanımı Struct değişkeni tanımlamayı ve alanlara erişmeyi öğrenirsin. 4 dk
  3. 3 Struct ve fonksiyon Struct'ı fonksiyona değerle ve referansla geçmeyi öğrenirsin. 5 dk
  4. 4 Struct dizisi Struct vector'ü oluşturmayı ve döngüyle gezmeyi öğrenirsin. 5 dk
  5. 5 İç içe struct Bir struct'ın içinde başka struct kullanmayı öğrenirsin. 5 dk
  6. 6 Özet - Yapılar Struct ve vector'ü birleştirerek bir öğrenci veritabanı yazarsın. 5 dk
18
İstisna temelleri
6 ders · 29 dk
  1. 1 try/catch try/catch ile çalışma zamanı hatalarını yakalamayı öğrenirsin. 5 dk
  2. 2 throw throw ile kendi istisnalarını fırlatmayı öğrenirsin. 4 dk
  3. 3 std::exception std::exception ve what() yöntemini öğrenirsin. 5 dk
  4. 4 Özel exception Kendi std::exception türevi sınıfını yazmayı öğrenirsin. 5 dk
  5. 5 catch all catch(...) ile tüm istisnaları yakalamayı öğrenirsin. 5 dk
  6. 6 Özet - İstisnalar try/catch ve özel istisnayı birleştirerek bir banka hesap sınıfı yazarsın. 5 dk
19
Namespace'ler
6 ders · 29 dk
  1. 1 namespace tanımlama namespace ile ad alanı tanımlamayı öğrenirsin. 5 dk
  2. 2 using using ile namespace içe aktarmayı öğrenirsin. 4 dk
  3. 3 std namespace std namespace ve yaygın kullanımını öğrenirsin. 5 dk
  4. 4 İç içe namespace İç içe namespace ve kullanımını öğrenirsin. 5 dk
  5. 5 Namespace alias Namespace alias ile kısa isimler öğrenirsin. 5 dk
  6. 6 Özet - Namespace'ler namespace, using ve alias'ı birleştirerek bir yardımcı modül yazarsın. 5 dk
20
Başlangıç finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı Başlangıç finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 Veri modeli Uygulamanın struct ve vector'lerini kurarsın. 6 dk
  3. 3 İş mantığı Fonksiyonlar ve koşullu mantıkla iş kurallarını yazarsın. 6 dk
  4. 4 Hata yönetimi try/catch ile girdi doğrulama ve hata yönetimi eklersin. 6 dk
  5. 5 Birleştirme Tüm parçaları birleştirerek çalışan bir final uygulaması yazarsın. 6 dk

C++'ta OOP, şablonlar, std lib algoritmaları, iterator'lar, lambda ve dosya I/O öğrenirsin.

1
Sınıflar
6 ders · 29 dk
  1. 1 Sınıf tanımlama class anahtar kelimesiyle sınıf tanımlamayı öğrenirsin. 5 dk
  2. 2 Üye değişkenler Sınıf içinde üye değişken (field) tanımlamayı öğrenirsin. 5 dk
  3. 3 Üye fonksiyonlar Sınıf içinde üye fonksiyon (method) tanımlamayı öğrenirsin. 5 dk
  4. 4 this işaretçisi this işaretçisi ile sınıfın kendisine erişmeyi öğrenirsin. 4 dk
  5. 5 Erişim belirleyiciler public, private ve protected arasındaki farkı öğrenirsin. 5 dk
  6. 6 Özet - Sınıflar Üye değişken, fonksiyon ve erişim belirleyicileri birleştirerek bir User sınıfı yazarsın. 5 dk
2
Yapıcı metot
6 ders · 30 dk
  1. 1 Yapıcı metot Sınıf yapıcı metodunu (constructor) tanımlamayı öğrenirsin. 5 dk
  2. 2 Parametreli yapıcı Parametre alan yapıcılarla nesneyi başlatmayı öğrenirsin. 5 dk
  3. 3 Member initializer list Member initializer list ile verimli başlatma öğrenirsin. 5 dk
  4. 4 Yapıcı overloading Aynı sınıfta birden çok yapıcı tanımlamayı öğrenirsin. 5 dk
  5. 5 Destructor Destructor ile nesne temizliğini öğrenirsin. 5 dk
  6. 6 Özet - Yapıcı metot Overloading ve initializer list'i birleştirerek bir Product sınıfı yazarsın. 5 dk
3
Miras alma
6 ders · 29 dk
  1. 1 Miras temelleri Türetme (:) ile bir sınıftan miras almayı öğrenirsin. 5 dk
  2. 2 virtual virtual ile sanal metot ve polimorfizmi öğrenirsin. 5 dk
  3. 3 override override ile metotları yeniden tanımlamayı öğrenirsin. 5 dk
  4. 4 Base constructor Türetilmiş sınıfta base yapıcıyı çağırmayı öğrenirsin. 5 dk
  5. 5 final final ile mirası engellemeyi öğrenirsin. 4 dk
  6. 6 Özet - Miras alma virtual/override ve final'i birleştirerek bir şekil hiyerarşisi yazarsın. 5 dk
4
Proje: Yardımcı kütüphaneProje
5 ders · 30 dk
  1. 1 Sınıf tasarımı Yardımcı kütüphane sınıfının iskeletini tasarlarsın. 6 dk
  2. 2 String yardımcıları String işleme fonksiyonlarını ekler ve test edersin. 6 dk
  3. 3 Sayı yardımcıları Sayı dönüşüm ve hesaplama fonksiyonlarını eklersin. 6 dk
  4. 4 Tarih yardımcıları Tarih işleme fonksiyonlarını eklersin. 6 dk
  5. 5 Birleştirme Yardımcı fonksiyonları bir sınıfta birleştirirsin. 6 dk
5
Kapsülleme
6 ders · 29 dk
  1. 1 private üyeler private üyelerle bilgi gizlemeyi öğrenirsin. 4 dk
  2. 2 Getter ve setter Getter ve setter ile kontrollü erişim öğrenirsin. 5 dk
  3. 3 const metotlar const metotlarla değiştirmeyen erişimi öğrenirsin. 5 dk
  4. 4 mutable mutable ile const içinde değişebilen üye öğrenirsin. 5 dk
  5. 5 friend friend ile dışarıdan erişim izni öğrenirsin. 5 dk
  6. 6 Özet - Kapsülleme private, getter/setter ve const'u birleştirerek bir Account sınıfı yazarsın. 5 dk
6
Static üyeler
6 ders · 30 dk
  1. 1 static üye değişken static üye değişkenin sınıf düzeyinde paylaşılmasını öğrenirsin. 5 dk
  2. 2 static metotlar static metotları ve örnek olmadan çağırmayı öğrenirsin. 5 dk
  3. 3 static const static const ile sınıf sabitleri tanımlamayı öğrenirsin. 5 dk
  4. 4 inline static inline static ile C++17 sınıf içi tanım öğrenirsin. 5 dk
  5. 5 static_assert static_assert ile derleme zamanı denetimini öğrenirsin. 5 dk
  6. 6 Özet - Static üyeler static üye, metot ve const'u birleştirerek bir MathConstants sınıfı yazarsın. 5 dk
7
Polimorfizm
6 ders · 30 dk
  1. 1 Polimorfizm temelleri Aynı çağrının farklı türlerde farklı davranmasını öğrenirsin. 5 dk
  2. 2 Sanal tablo Sanal metot tablosu (vtable) ve çalışma zamanı dağıtımını öğrenirsin. 5 dk
  3. 3 Abstract sınıf Soyut sınıf ve saf sanal metot (pure virtual) öğrenirsin. 5 dk
  4. 4 dynamic_cast dynamic_cast ile güvenli downcast öğrenirsin. 5 dk
  5. 5 virtual destructor Sanal destructor ile doğru temizlik öğrenirsin. 5 dk
  6. 6 Özet - Polimorfizm virtual, abstract ve dynamic_cast'i birleştirerek bir işçi hiyerarşisi yazarsın. 5 dk
8
Proje: Quiz uygulamasıProje
5 ders · 30 dk
  1. 1 Quiz modeli Question ve Quiz sınıflarının iskeletini tasarlarsın. 6 dk
  2. 2 Soru ekleme addQuestion metoduyla quiz'e soru eklemeyi öğrenirsin. 6 dk
  3. 3 Quiz oynatma run metoduyla soruları sırayla sormayı öğrenirsin. 6 dk
  4. 4 Skor hesaplama Skor hesaplama metoduyla doğru sayısını öğrenirsin. 6 dk
  5. 5 Birleştirme Quiz sınıfını konsol menüsüyle birleştirirsin. 6 dk
9
Şablon temelleri
6 ders · 30 dk
  1. 1 template<typename T> template<typename T> ile generic fonksiyon yazmayı öğrenirsin. 5 dk
  2. 2 Template fonksiyon Template fonksiyon tanımlamayı ve çağırmayı öğrenirsin. 5 dk
  3. 3 Template sınıf template<typename T> ile generic sınıf yazmayı öğrenirsin. 5 dk
  4. 4 Birden çok tür parametresi template<typename T, typename U> ile birden çok türü öğrenirsin. 5 dk
  5. 5 Template uzmanlaşma Template specialization ile belirli tür için özelleştirme öğrenirsin. 5 dk
  6. 6 Özet - Şablon temelleri Template fonksiyon ve sınıfı birleştirerek bir Stack<T> yazarsın. 5 dk
10
STL container'lar
6 ders · 30 dk
  1. 1 std::vector std::vector ile dinamik dizi kullanmayı öğrenirsin. 5 dk
  2. 2 std::list std::list ile çift bağlı listeyi öğrenirsin. 5 dk
  3. 3 std::map std::map ile sıralı anahtar-değer koleksiyonunu öğrenirsin. 5 dk
  4. 4 std::unordered_map std::unordered_map ile hash tabanlı map'i öğrenirsin. 5 dk
  5. 5 std::set std::set ile benzersiz sıralı koleksiyonu öğrenirsin. 5 dk
  6. 6 Özet - STL container'lar vector, map ve set'i birleştirerek bir telefon rehberi yazarsın. 5 dk
11
Iterator'lar
6 ders · 30 dk
  1. 1 Iterator nedir? Iterator'ın ne olduğunu ve container ile ilişkisini öğrenirsin. 5 dk
  2. 2 begin ve end begin() ve end() ile iterator aralığını öğrenirsin. 5 dk
  3. 3 Iterator türleri Input, output, forward, bidirectional ve random access iterator'ları öğrenirsin. 5 dk
  4. 4 Range-based for Range-based for ve iterator ilişkisini öğrenirsin. 5 dk
  5. 5 Iterator aritmetiği Random access iterator'da aritmetik yapmayı öğrenirsin. 5 dk
  6. 6 Özet - Iterator'lar begin/end ve aritmetiği birleştirerek bir arama fonksiyonu yazarsın. 5 dk
12
Proje: Kütüphane uygulamasıProje
5 ders · 30 dk
  1. 1 Model tasarımı Book ve Member sınıflarının iskeletini tasarlarsın. 6 dk
  2. 2 Kütüphane sınıfı Library sınıfıyla koleksiyon yönetimini kurarsın. 6 dk
  3. 3 Ödünç verme checkout ve return metotlarıyla ödünç akışını yazarsın. 6 dk
  4. 4 Arama ve filtreleme STL algoritmalarıyla arama ve filtreleme yazarsın. 6 dk
  5. 5 Birleştirme Kütüphane sınıfını konsol menüsüyle birleştirirsin. 6 dk
13
STL algoritmaları
6 ders · 30 dk
  1. 1 std::sort std::sort ile sıralamayı öğrenirsin. 5 dk
  2. 2 std::find std::find ile arama yapmayı öğrenirsin. 5 dk
  3. 3 std::count std::count ve std::count_if ile sayma öğrenirsin. 5 dk
  4. 4 std::transform std::transform ile dönüştürme öğrenirsin. 5 dk
  5. 5 std::accumulate std::accumulate ile toplu hesap öğrenirsin. 5 dk
  6. 6 Özet - STL algoritmaları sort, find ve accumulate'i birleştirerek bir satış raporu yazarsın. 5 dk
14
Lambda ifadeleri
6 ders · 30 dk
  1. 1 Lambda nedir? Lambda ifadesinin ne olduğunu ve anonim fonksiyonu öğrenirsin. 5 dk
  2. 2 Lambda sözdizimi [](){} yapısını ve capture clause'ı öğrenirsin. 5 dk
  3. 3 Capture modes [=], [&], [this] ile capture modlarını öğrenirsin. 5 dk
  4. 4 STL ile lambda STL algoritmalarıyla lambda kullanmayı öğrenirsin. 5 dk
  5. 5 std::function std::function ile lambda saklamayı öğrenirsin. 5 dk
  6. 6 Özet - Lambda capture, STL ve std::function'ı birleştirerek bir filtre fonksiyonu yazarsın. 5 dk
15
Akıllı işaretçiler
6 ders · 30 dk
  1. 1 std::unique_ptr std::unique_ptr ile tek sahipliği öğrenirsin. 5 dk
  2. 2 std::shared_ptr std::shared_ptr ile paylaşılan sahipliği öğrenirsin. 5 dk
  3. 3 std::weak_ptr std::weak_ptr ile döngüsel referansı önlemeyi öğrenirsin. 5 dk
  4. 4 make_unique ve make_shared make_unique ve make_shared ile güvenli oluşturma öğrenirsin. 5 dk
  5. 5 RAII RAII deseniyle kaynak yönetimini öğrenirsin. 5 dk
  6. 6 Özet - Akıllı işaretçiler unique_ptr, shared_ptr ve RAII'yi birleştirerek bir kaynak havuzu yazarsın. 5 dk
16
Dosya I/O
6 ders · 30 dk
  1. 1 std::ifstream std::ifstream ile dosya okumayı öğrenirsin. 5 dk
  2. 2 std::ofstream std::ofstream ile dosyaya yazmayı öğrenirsin. 5 dk
  3. 3 std::fstream std::fstream ile hem okuma hem yazma öğrenirsin. 5 dk
  4. 4 Dosya açık kontrolü is_open() ile dosya açma kontrolünü öğrenirsin. 5 dk
  5. 5 Satır okuma getline ile satır satır okumayı öğrenirsin. 5 dk
  6. 6 Özet - Dosya I/O ifstream, ofstream ve getline'ı birleştirerek bir not defteri yazarsın. 5 dk
17
Stringstream
6 ders · 30 dk
  1. 1 istringstream istringstream ile dizeden okuma öğrenirsin. 5 dk
  2. 2 ostringstream ostringstream ile dizeye yazma öğrenirsin. 5 dk
  3. 3 stringstream stringstream ile çift yönlü akış öğrenirsin. 5 dk
  4. 4 Tip dönüşümü stringstream ile tip dönüşümü öğrenirsin. 5 dk
  5. 5 Biçimlendirme stringstream ile biçimlendirme öğrenirsin. 5 dk
  6. 6 Özet - Stringstream istringstream ve ostringstream'i birleştirerek bir CSV ayrıştırıcı yazarsın. 5 dk
18
Move semantiği
6 ders · 30 dk
  1. 1 rvalue referans rvalue referans (&&) kavramını öğrenirsin. 5 dk
  2. 2 std::move std::move ile taşıma semantiğini öğrenirsin. 5 dk
  3. 3 Move constructor Move constructor ile verimli taşıma öğrenirsin. 5 dk
  4. 4 Move assignment Move assignment operatörünü öğrenirsin. 5 dk
  5. 5 Rule of five Rule of five ve kaynak yönetimini öğrenirsin. 5 dk
  6. 6 Özet - Move semantiği std::move ve move ctor'u birleştirerek bir buffer sınıfı yazarsın. 5 dk
19
Operatör aşırı yükleme
6 ders · 30 dk
  1. 1 Operatör fonksiyonu operatör fonksiyonu tanımlamayı öğrenirsin. 5 dk
  2. 2 Aritmetik operatörler + ve - operatörlerini aşırı yüklemeyi öğrenirsin. 5 dk
  3. 3 Karşılaştırma operatörleri == ve < operatörlerini aşırı yüklemeyi öğrenirsin. 5 dk
  4. 4 Stream operatörleri << ve >> operatörlerini aşırı yüklemeyi öğrenirsin. 5 dk
  5. 5 spaceship operatörü C++20 spaceship (<=>) operatörünü öğrenirsin. 5 dk
  6. 6 Özet - Operatör aşırı yükleme aritmetik, karşılaştırma ve stream operatörlerini birleştirerek bir Vector sınıfı yazarsın. 5 dk
20
Orta seviye finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı Orta seviye finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 OOP modeli Sınıf hiyerarşisi ve template'leri kurarsın. 6 dk
  3. 3 STL katmanı STL container ve algoritmalarıyla veri süzme yazarsın. 6 dk
  4. 4 Dosya I/O Verileri dosyaya kaydedip yüklersin. 6 dk
  5. 5 Birleştirme Tüm katmanları birleştirerek çalışan bir uygulama yazarsın. 6 dk

C++'ta modern C++ (17/20), concurrency, metaprogramming, tasarım desenleri ve test temelleri öğrenirsin.

1
Modern C++
6 ders · 30 dk
  1. 1 C++17 ve C++20 C++17 ve C++20'nin yeni özelliklerini öğrenirsin. 5 dk
  2. 2 Structured bindings Structured bindings ile çoklu değişken atamayı öğrenirsin. 5 dk
  3. 3 if constexpr if constexpr ile derleme zamanı koşulu öğrenirsin. 5 dk
  4. 4 Concepts C++20 concepts ile şablon kısıtlarını öğrenirsin. 5 dk
  5. 5 Ranges C++20 ranges ile kompozisyonel algoritmaları öğrenirsin. 5 dk
  6. 6 Özet - Modern C++ structured bindings, concepts ve ranges'i birleştirerek bir veri işleme hattı yazarsın. 5 dk
2
Variadic template'ler
6 ders · 30 dk
  1. 1 Variadic template Variadic template ile değişken sayıda tür öğrenirsin. 5 dk
  2. 2 Parameter pack Parameter pack ve açma (expansion) öğrenirsin. 5 dk
  3. 3 Fold expressions C++17 fold expressions ile paket işleme öğrenirsin. 5 dk
  4. 4 Perfect forwarding Perfect forwarding ile argüman aktarımı öğrenirsin. 5 dk
  5. 5 std::tuple std::tuple ile heterojen koleksiyon öğrenirsin. 5 dk
  6. 6 Özet - Variadic template'ler fold expressions ve perfect forwarding'i birleştirerek bir print fonksiyonu yazarsın. 5 dk
3
Type traits
6 ders · 30 dk
  1. 1 Type traits nedir? Type traits ile tür bilgisi sorgulamayı öğrenirsin. 5 dk
  2. 2 is_integral is_integral ve is_floating_point ile tür sınıflandırma öğrenirsin. 5 dk
  3. 3 enable_if enable_if ile SFINAE öğrenirsin. 5 dk
  4. 4 conditional conditional ile derleme zamanı tür seçimi öğrenirsin. 5 dk
  5. 5 decay ve remove_reference decay ve remove_reference ile tür dönüşümü öğrenirsin. 5 dk
  6. 6 Özet - Type traits is_integral, enable_if ve conditional'ı birleştirerek bir generic fonksiyon yazarsın. 5 dk
4
Concurrency temelleri
6 ders · 30 dk
  1. 1 std::thread std::thread ile iş parçacığı oluşturmayı öğrenirsin. 5 dk
  2. 2 std::mutex std::mutex ile karşılıklı dışlama öğrenirsin. 5 dk
  3. 3 std::lock_guard std::lock_guard ile RAII kilit öğrenirsin. 5 dk
  4. 4 std::async std::async ile asenkron görev öğrenirsin. 5 dk
  5. 5 std::future std::future ve promise ile değer aktarımı öğrenirsin. 5 dk
  6. 6 Özet - Concurrency thread, mutex ve async'i birleştirerek paralel bir hesap yazarsın. 5 dk
5
Atomic ve memory order
6 ders · 30 dk
  1. 1 std::atomic std::atomic ile atomik işlemleri öğrenirsin. 5 dk
  2. 2 memory_order memory_order ile bellek sıralamasını öğrenirsin. 5 dk
  3. 3 Compare-exchange compare_exchange ile atomik karşılaştırma-değiştirme öğrenirsin. 5 dk
  4. 4 atomic flag atomic_flag ile spinlock öğrenirsin. 5 dk
  5. 5 Fetch and add fetch_add ve fetch_sub ile atomik aritmetik öğrenirsin. 5 dk
  6. 6 Özet - Atomic atomic, memory_order ve compare_exchange'i birleştirerek bir sayaç yazarsın. 5 dk
6
Tasarım desenleri
6 ders · 30 dk
  1. 1 Singleton Singleton deseniyle tek örnek sınıf yazmayı öğrenirsin. 5 dk
  2. 2 Factory Factory deseniyle nesne oluşturma yöntemini öğrenirsin. 5 dk
  3. 3 Strategy Strategy deseniyle algoritma ailesini öğrenirsin. 5 dk
  4. 4 Observer Observer deseniyle olay tabanlı bildirim öğrenirsin. 5 dk
  5. 5 Decorator Decorator deseniyle davranış genişletmeyi öğrenirsin. 5 dk
  6. 6 Özet - Tasarım desenleri Singleton, Factory ve Strategy'i birleştirerek bir ödeme sistemi yazarsın. 5 dk
7
Test temelleri
6 ders · 30 dk
  1. 1 GoogleTest GoogleTest test çerçevesini öğrenirsin. 5 dk
  2. 2 TEST makrosu TEST makrosu ile test yazmayı öğrenirsin. 5 dk
  3. 3 ASSERT vs EXPECT ASSERT_ ve EXPECT_ makrolarını öğrenirsin. 5 dk
  4. 4 Test fixture Test fixture ile ortak kurulum öğrenirsin. 5 dk
  5. 5 Mock GoogleMock ile sahte nesne kullanmayı öğrenirsin. 5 dk
  6. 6 Özet - Test temelleri TEST, ASSERT ve Mock'u birleştirerek bir hesap makinesi testi yazarsın. 5 dk
8
Build sistemleri
6 ders · 30 dk
  1. 1 CMake temelleri CMake ile build yapılandırması öğrenirsin. 5 dk
  2. 2 CMakeLists.txt CMakeLists.txt yazmayı öğrenirsin. 5 dk
  3. 3 find_package find_package ile kütüphane bulmayı öğrenirsin. 5 dk
  4. 4 Multi-project CMake ile çoklu proje yapısını öğrenirsin. 5 dk
  5. 5 Ninja ve Make Ninja ve Make generator'larını öğrenirsin. 5 dk
  6. 6 Özet - Build sistemleri CMake, find_package ve multi-project'i birleştirerek bir proje yapısı kurarsın. 5 dk
9
Serileştirme
6 ders · 30 dk
  1. 1 Binary serileştirme Binary serileştirme ile nesneleri dosyaya yazmayı öğrenirsin. 5 dk
  2. 2 Text serileştirme Text serileştirme ile insan okunabilir formatta öğrenirsin. 5 dk
  3. 3 JSON kütüphanesi nlohmann/json ile JSON serileştirme öğrenirsin. 5 dk
  4. 4 Versioning Serileştirme versioning ve uyumluluk öğrenirsin. 5 dk
  5. 5 Custom serileştirme Kendi serileştirme kodunu yazmayı öğrenirsin. 5 dk
  6. 6 Özet - Serileştirme Binary, JSON ve versioning'i birleştirerek bir ayar dosyası yazarsın. 5 dk
10
Ağ programlama
6 ders · 30 dk
  1. 1 Soket temelleri C++ ile soket programlama temellerini öğrenirsin. 5 dk
  2. 2 TCP istemci TCP istemci yazmayı öğrenirsin. 5 dk
  3. 3 TCP sunucu TCP sunucu yazmayı öğrenirsin. 5 dk
  4. 4 Boost.Asio Boost.Asio ile asenkron ağ programlama öğrenirsin. 5 dk
  5. 5 HTTP istemci Basit HTTP istemci yazmayı öğrenirsin. 5 dk
  6. 6 Özet - Ağ programlama TCP istemci/sunucu ve Asio'yu birleştirerek bir echo sunucusu yazarsın. 5 dk
11
Concepts
6 ders · 30 dk
  1. 1 Concept tanımlama C++20 concept tanımlamayı öğrenirsin. 5 dk
  2. 2 requires requires clause ile şablon kısıtlarını öğrenirsin. 5 dk
  3. 3 Standard concepts standard concepts (Integral, FloatingPoint) öğrenirsin. 5 dk
  4. 4 Compound requirement compound requirement ile ifade denetimini öğrenirsin. 5 dk
  5. 5 Concept overloading concept ile fonksiyon overloading öğrenirsin. 5 dk
  6. 6 Özet - Concepts concept, requires ve standard concepts'ı birleştirerek bir generic algoritma yazarsın. 5 dk
12
Coroutines
6 ders · 30 dk
  1. 1 Coroutine nedir? C++20 coroutine kavramını öğrenirsin. 5 dk
  2. 2 co_await co_await ile bekleme noktasını öğrenirsin. 5 dk
  3. 3 co_return co_return ile coroutine dönüşünü öğrenirsin. 5 dk
  4. 4 co_yield co_yield ile değer üretmeyi öğrenirsin. 5 dk
  5. 5 Task type Task ve promise type öğrenirsin. 5 dk
  6. 6 Özet - Coroutines co_await, co_yield ve Task'ı birleştirerek bir asenkron sayaç yazarsın. 5 dk
13
İleri hata yönetimi
6 ders · 30 dk
  1. 1 Exception hierarchy Exception hiyerarşisi ve özel istisnaları öğrenirsin. 5 dk
  2. 2 Exception safety Exception safety garantileri öğrenirsin. 5 dk
  3. 3 RAII ve exception RAII ile exception güvenli kaynak yönetimini öğrenirsin. 5 dk
  4. 4 std::expected std::expected ile hata yönetimini öğrenirsin. 5 dk
  5. 5 noexcept noexcept ile exception belirtimini öğrenirsin. 5 dk
  6. 6 Özet - İleri hata yönetimi exception safety, RAII ve std::expected'i birleştirerek bir güvenli sınıf yazarsın. 5 dk
14
İleri seviye finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı İleri seviye finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 Modern C++ Modern C++ (concepts, ranges) ile veri işleme yazarsın. 6 dk
  3. 3 Concurrency std::thread ve atomic ile paralel işleme yazarsın. 6 dk
  4. 4 Design patterns Tasarım desenleriyle modüler yapı yazarsın. 6 dk
  5. 5 Birleştirme Tüm katmanları birleştirerek çalışan bir mini framework yazarsın. 6 dk

C++'ta metaprogramming, derleyici iç yapıları, ABI, performans optimizasyonu ve gömülü C++ öğrenirsin.

1
Metaprogramming
6 ders · 30 dk
  1. 1 Template metaprogramming Template metaprogramming ile derleme zamanı hesap öğrenirsin. 5 dk
  2. 2 Recursive template Recursive template ile derleme zamanı döngü öğrenirsin. 5 dk
  3. 3 Type list Type list ve derleme zamanı liste öğrenirsin. 5 dk
  4. 4 constexpr fonksiyon constexpr fonksiyon ile derleme zamanı hesap öğrenirsin. 5 dk
  5. 5 consteval C++20 consteval ile derleme zamanı zorunluluğu öğrenirsin. 5 dk
  6. 6 Özet - Metaprogramming recursive template, constexpr ve consteval'i birleştirerek bir factorial yazarsın. 5 dk
2
constexpr ve consteval
6 ders · 30 dk
  1. 1 constexpr değişken constexpr değişken ile derleme zamanı sabit öğrenirsin. 5 dk
  2. 2 constexpr fonksiyon constexpr fonksiyon yazmayı öğrenirsin. 5 dk
  3. 3 constexpr if constexpr if ile derleme zamanı dallanma öğrenirsin. 5 dk
  4. 4 consteval C++20 consteval ile anlık fonksiyon öğrenirsin. 5 dk
  5. 5 constinit C++20 constinit ile sabit başlatma öğrenirsin. 5 dk
  6. 6 Özet - constexpr constexpr, consteval ve constinit'i birleştirerek bir lookup tablosu yazarsın. 5 dk
3
Bellek modeli
6 ders · 30 dk
  1. 1 C++ memory model C++ memory model ve atomic temellerini öğrenirsin. 5 dk
  2. 2 Happens-before happens-before ilişkisini öğrenirsin. 5 dk
  3. 3 Sequential consistency sequential consistency ve diğer memory order'ları öğrenirsin. 5 dk
  4. 4 Data race Data race ve nasıl önleneceğini öğrenirsin. 5 dk
  5. 5 Acquire-release acquire-release semantiğini öğrenirsin. 5 dk
  6. 6 Özet - Bellek modeli memory model, happens-before ve acquire-release'i birleştirerek bir sync primitive yazarsın. 5 dk
4
ABI ve ikili uyumluluk
6 ders · 30 dk
  1. 1 ABI nedir? ABI (Application Binary Interface) kavramını öğrenirsin. 5 dk
  2. 2 Name mangling Name mangling ve C++ sembol isimlerini öğrenirsin. 5 dk
  3. 3 Itanium ABI Itanium ABI ve yaygın kullanımını öğrenirsin. 5 dk
  4. 4 extern C extern C ile C uyumluluğunu öğrenirsin. 5 dk
  5. 5 ABI stability ABI stability ve sürümleme öğrenirsin. 5 dk
  6. 6 Özet - ABI mangling, extern C ve stability'yi birleştirerek bir C-compatible kütüphane yazarsın. 5 dk
5
Performans optimizasyonu
6 ders · 30 dk
  1. 1 Profiling profiling araçlarıyla performans ölçümünü öğrenirsin. 5 dk
  2. 2 Cache CPU cache etkisini ve veri yerelliğini öğrenirsin. 5 dk
  3. 3 Vectorization SIMD vectorization ile otomatik paralelleştirmeyi öğrenirsin. 5 dk
  4. 4 Inline inline anahtar kelimesi ve linker etkisini öğrenirsin. 5 dk
  5. 5 Move vs copy Move ve copy semantiğinin performans farkını öğrenirsin. 5 dk
  6. 6 Özet - Performans profiling, cache ve move semantiğini birleştirerek optimize edilmiş bir kopyalama fonksiyonu yazarsın. 5 dk
6
Gömülü C++
6 ders · 30 dk
  1. 1 Gömülü nedir? Gömülü sistem kavramını ve C++ kısıtlarını öğrenirsin. 5 dk
  2. 2 Bellek eşlemeli I/O Bellek eşlemeli I/O ve volatile kullanımını öğrenirsin. 5 dk
  3. 3 Free-standing Free-standing C++ ve std lib kısıtlarını öğrenirsin. 5 dk
  4. 4 Interrupt Interrupt handler yazmayı öğrenirsin. 5 dk
  5. 5 Real-time Real-time C++ ve zamanlama kısıtlarını öğrenirsin. 5 dk
  6. 6 Özet - Gömülü C++ MMIO, free-standing ve interrupt'ı birleştirerek bir LED yakma uygulaması yazarsın. 5 dk
7
Derleyici iç yapıları
6 ders · 30 dk
  1. 1 Compilation phases C++ derleme aşamalarını öğrenirsin. 5 dk
  2. 2 AST Abstract Syntax Tree (AST) yapısını öğrenirsin. 5 dk
  3. 3 Template instantiation Template instantiation mekanizmasını öğrenirsin. 5 dk
  4. 4 Linker Linker ve bağlama sürecini öğrenirsin. 5 dk
  5. 5 Optimization Derleyici optimizasyonlarını öğrenirsin. 5 dk
  6. 6 Özet - Derleyici iç yapıları AST, instantiation ve linker'ı birleştirerek bir kod analiz aracı yazarsın. 5 dk
8
Uzman finaliProje
5 ders · 30 dk
  1. 1 Proje tasarımı Uzman finali mini uygulamasının iskeletini tasarlarsın. 6 dk
  2. 2 Metaprogramming Template metaprogramming ile derleme zamanı kod üretirsin. 6 dk
  3. 3 Concurrency Concurrency ve memory model ile paralel yapı yazarsın. 6 dk
  4. 4 Embedded Gömülü kısıtlarla optimize edilmiş kod yazarsın. 6 dk
  5. 5 Birleştirme Tüm uzman konularını birleştirerek çalışan bir mini uygulama yazarsın. 6 dk

Dersler ücretsiz, hesap ilerlemeni korur

Hesap açmak zorunlu değil. Açarsan kaldığın yerden devam eder, emeğini kaybetmezsin.

  • İlerlemen her cihazda kayıtlı
  • XP ve rozet kazan
  • Günlük seriyi koru
  • Kursu bitirince sertifika al
ücretsiz hesap aç

Sık sorulan sorular

C++ dersleri ücretsiz mi?

Evet. C++ kursundaki 362 dersin tamamı ücretsiz ve hesap açmadan başlayabilirsin.

Başlamak için ön bilgi gerekiyor mu?

Hayır. Başlangıç seviyesi sıfırdan anlatır; yalnızca bir tarayıcı yeterli. Konuyu biliyorsan üst seviyelerden başlayabilirsin.

Kursu bitirmek ne kadar sürer?

Dersler 2–8 dakikalık. Tüm kurs yaklaşık 30 saat; günde 15–20 dakikayla birkaç ayda bitirebilirsin.

Sertifika veriliyor mu?

Evet. Ücretsiz hesapla kursu tamamladığında adına doğrulanabilir bir sertifika oluşturulur.

Hesap açmadan ilerlemem kaybolur mu?

Hesapsız ilerlemen yalnızca kullandığın tarayıcıda tutulur. Ücretsiz hesap açtığında bu ilerleme hesabına aktarılır.

Sonraki adım Node.js

Node.js 22 ve ES modules ile modüllerden Express, clustering ve uzman seviye konulara kadar tüm temelleri öğrenin.