C++ Rehberi – Temel’den Orta Seviyeye Genel Bakış

0 Replies 97 Views
·

Leave a rating: C++ Rehberi – Temel’den Orta Seviyeye Genel Bakış

You have already rated this thread. Re-rating it will remove your existing rating or review.

Rating:

Raters: C++ Rehberi – Temel’den Orta Seviyeye Genel Bakış

Participants
Thread Starter #0
Bu rehber; C++’a yeni başlayan veya temeli olan ama oturtmak isteyenler için:
  • Temel sözdizimi
  • Değişkenler, tipler
  • Koşullar, döngüler
  • Fonksiyonlar
  • Sınıflar & OOP
  • Pointer, referans
  • STL (vector, map vs.)
  • Derleme & proje mantığı
başlıklarını toplu anlatan bir özet niteliğindedir.

1️⃣ C++ Nedir? Nerede Kullanılır?

BaşlıkAçıklama
Dil TipiDerlenen, yüksek performanslı, genel amaçlı programlama dili.
ParadigmaNesne yönelimli (OOP), prosedürel, generic programlama desteği vardır.
Kullanım AlanlarıSistem programlama, oyun motorları, gömülü sistemler, finans, yüksek performanslı uygulamalar, masaüstü yazılımlar.
AvantajlarıHız, düşük seviye kontrol, büyük kütüphane ekosistemi, çapraz platform.
DezavantajlarıManuel bellek yönetimi, başlangıçta karmaşık gelebilir.

2️⃣ Temel Yapı Taşları (main, include, namespace)

KavramAçıklamaÖrnek Kullanım
includeKütüphane eklemek için kullanılır.#include <iostream>
namespaceİsim çakışmalarını önler, std en sık kullanılanıdır.using namespace std; (öğrenirken iş görür)
main fonksiyonuProgram giriş noktasıdır.int main() { ... }
return 0Programın başarılı bittiğini gösterir.return 0;

3️⃣ Veri Tipleri ve Değişkenler

TipAçıklamaÖrnek
intTamsayıint sayi = 10;
doubleOndalıklı sayıdouble pi = 3.14;
charTek karakterchar harf = 'A';
boolMantıksal (true/false)bool aktif = true;
string (std::string)Metinstring ad = "Berk";
long longBüyük tamsayılong long büyük = 10000000000;

4️⃣ Operatörler

TürÖrnekAçıklama
Aritmetik+ - * / %Toplama, çıkarma, çarpma, bölme, mod alma.
Karşılaştırma== != < > <= >=İki değeri kıyaslar, bool döner.
Mantıksal`&&
Atama= += -=Değer atama ve artırma/azaltma.
Artırma/Azaltma++ --1 artırır / 1 azaltır (ön/son kullanım önemli).

5️⃣ Koşullar (if – else, switch)

YapıNe İşe Yarar?Örnek Mantık
ifŞarta göre kod çalıştırır.if (sayi > 0) { ... }
if – elseKoşul doğruysa/yanlışsa farklı bloklar.Pozitif / negatif kontrolü.
else ifBirden fazla koşulu zincirler.Not aralıkları kontrolü.
switchTek değişkenin farklı sabit değerlerini test eder.Menü seçimleri, sabit kodlar.

6️⃣ Döngüler (for, while, do-while)

DöngüKullanım AmaçlarıÖrnek Senaryo
forBelirli sayıda döndüğünde kullanılır.0’dan 100’e kadar saydırma.
whileKoşul doğru olduğu sürece döner.Kullanıcı doğru giriş yapana kadar bekleme.
do-whileÖnce çalışır, sonra kontrol eder.En az 1 kere çalışması gereken menü.
breakDöngüyü anında sonlandırır.Aranan değeri bulunca çıkış.
continueO turu atlayıp sonraki tura geçer.Belirli koşulda işlem yapmadan geçme.

7️⃣ Fonksiyonlar

KavramAçıklamaÖrnek Mantık
FonksiyonTekrar eden kodu bir isim altında toplar.int topla(int a, int b)
ParametreFonksiyona dışarıdan verilen değer.int kare(int x)
Geri Dönüş DeğeriFonksiyonun ürettiği sonuç tipi.double hesapla(...)
voidDeğer döndürmeyen fonksiyon.void yazdir()
OverloadAynı isimle farklı parametreli fonksiyonlar.topla(int,int) ve topla(double,double)

8️⃣ Diziler (Array), Vektörler (std::vector)

YapıAçıklamaNe Zaman Kullanılır?
C tarzı diziSabit boyutlu, temel array.Boyut sabitse, düşük seviye kontrol gerekince.
std::vectorDinamik boyutlu diziEleman sayısının değiştiği durumlar.
push_backVektöre sondan eleman ekler.Liste büyütme.
size()Eleman sayısını döner.Döngü kurarken.

9️⃣ Pointer ve Referans Temeli

KavramAçıklamaBasit Özet
PointerBellek adresini tutan değişken.int* ptr ⇒ int adresi saklar.
& (adres operatörü)Değişkenin adresini alır.&sayi ⇒ sayi’nin adresi.
* (dereference)Pointer’ın gösterdiği değere erişir.*ptr ⇒ işaret edilen değer.
ReferansBaşka bir değişkenin takma ismi.int &r = sayi;
Kullanım AmacıPerformans, büyük veri kopyalamamak, düşük seviye kontrol.Özellikle fonksiyon parametrelerinde.

🔟 Sınıflar (class) ve OOP

KavramAçıklamaÖrnek Mantık
classVeri + fonksiyonları tek yapıda toplar.class Araba { ... };
publicDışarıdan erişilebilen üyeler.public: void calistir();
privateSadece sınıf içinden erişilen üyeler.Değişkenleri saklamak.
constructor (kurucu)Nesne oluşturulurken çalışan özel fonksiyon.Başlangıç değerlerini atar.
destructor (yıkıcı)Nesne yok olurken çalışan fonksiyon.Bellek veya kaynak temizleme.
thisMevcut nesneyi temsil eder.Aynı isimli parametrelerde ayrım.

1️⃣1️⃣ STL (Standart Template Library) – Kısa Özet

YapıAçıklamaKullanım Alanı
vectorDinamik diziListe ve genel veri depolama.
listÇift bağlı listeÇok sık ekleme/çıkarma gereken yapılar.
mapAnahtar – değer çiftleriSözlük, indeksli veri.
setBenzersiz eleman kümesiTekrarsız veri tutma.
queueKuyrukFIFO işlemler.
stackYığınLIFO işlemler.

1️⃣2️⃣ Derleme, IDE ve Proje Mantığı

KonuAçıklama
DerleyiciC++ kodunu makine koduna çevirir (g++, clang, MSVC vb.).
IDEVisual Studio, CLion, Code::Blocks, VS Code + eklenti gibi geliştirme ortamları.
Tek dosya derlemeUfak projelerde temel yaklaşım, main + birkaç fonksiyon.
Çok dosyalı projeBüyük projelerde header (.h/.hpp) + kaynak (.cpp) dosyalarına bölme.
Build sistemiCMake, Makefile gibi sistemlerle derleme sürecini yönetme.

1️⃣3️⃣ C++ Öğrenirken Dikkat Edilecek Noktalar

BaşlıkÖneri
Bellek Yönetiminew / delete yerine mümkünse smart pointer (unique_ptr, shared_ptr) öğren.
std kullanımıMümkün olduğunca STL konteynerleri öğren ve kullan.
Hata AyıklamaKüçük parçalarda test ederek ilerle (adım adım).
Kod Stiliİsimlendirme, girinti, yorum satırlarını düzenli kullan.
ProjeTeoriyi hemen küçük proje ile destekle (örneğin not takip programı, küçük oyun, mini veritabanı simülasyonu).
[IMG width="249px" size="1050x1050"]https://i.hizliresim.com/a6d55tm.png[/IMG]

You must be logged in to reply.

0 quotes selected