C++
C++ hakkında detaylı bilgi aşağıda verilmiştir:
Tarihçe
- Yaratıcı: C++, 1979 yılında Bjarne Stroustrup tarafından Bell Labs'da geliştirilmiştir.
- İlk Yayın: İlk olarak 1985 yılında yayımlanmıştır.
- Adı: C++ adı, C diline yapılan eklemeleri ve dilin evrimini yansıtır. C'den "bir üst seviye" olarak düşünülmüştür ("++" operatörü, C dilinde bir değeri artırmak için kullanılır).
Temel Özellikler
- Nesne Yönelimli: C++, nesne yönelimli programlama (OOP) desteği sunar. Sınıflar ve nesneler gibi kavramlar içerir.
- Genel Amaçlı: C++, hem düşük seviyeli (sistem/işletim sistemi) hem de yüksek seviyeli (uygulama yazılımı) programlama için kullanılabilir.
- Performans: C++ çok yüksek performans sunar, bu yüzden oyun geliştirme, gerçek zamanlı sistemler ve büyük ölçekli uygulamalarda yaygın olarak kullanılır.
- Taşınabilirlik: C++ programları, platformlar arası taşınabilirlik sağlar.
- Standart Kütüphane: Geniş ve zengin standart kütüphanesi (STL - Standard Template Library) vardır.
Temel Sözdizimi
Değişken Tanımlama:
cpp
Kodu kopyala
int age = 30;
std::string name = "Alice";
bool isStudent = true;
Fonksiyonlar:
cpp
Kodu kopyala
int add(int a, int b) {
return a + b;
}
Koşullar:
cpp
Kodu kopyala
if (age > 18) {
std::cout << "Adult" << std::endl;
} else {
std::cout << "Not an adult" << std::endl;
}
Döngüler:
cpp
Kodu kopyala
for (int i = 0; i < 5; i++) {
std::cout << i << std::endl;
}
int i = 0;
while (i < 5) {
std::cout << i << std::endl;
i++;
}
Nesne Yönelimli Programlama
Sınıflar ve Nesneler:
cpp
Kodu kopyala
class Person {
public:
std::string name;
int age;
Person(std::string name, int age) : name(name), age(age) {}
void greet() {
std::cout << "Hello, my name is " << name << std::endl;
}
};
Person person("Alice", 30);
person.greet();
Kalıtım:
cpp
Kodu kopyala
class Animal {
public:
void eat() {
std::cout << "Eating" << std::endl;
}
};
class Dog : public Animal {
public:
void bark() {
std::cout << "Barking" << std::endl;
}
};
Dog dog;
dog.eat();
dog.bark();
Şablonlar (Templates)
Fonksiyon Şablonları:
cpp
Kodu kopyala
template <typename T>
T add(T a, T b) {
return a + b;
}
int main() {
std::cout << add<int>(2, 3) << std::endl;
std::cout << add<double>(2.5, 3.5) << std::endl;
return 0;
}
Sınıf Şablonları:
cpp
Kodu kopyala
template <typename T>
class Box {
private:
T value;
public:
Box(T value) : value(value) {}
T getValue() { return value; }
};
int main() {
Box<int> intBox(123);
Box<std::string> strBox("Hello");
std::cout << intBox.getValue() << std::endl;
std::cout << strBox.getValue() << std::endl;
return 0;
}
Bellek Yönetimi
- Dinamik Bellek Tahsisi:
cpp
Kodu kopyala
int* ptr = new int;
*ptr = 10;
delete ptr;
int* arr = new int[10];
// Use the array
delete[] arr;
Standart Kütüphane
Vektörler:
cpp
Kodu kopyala
#include <vector>
std::vector<int> numbers = {1, 2, 3, 4, 5};
numbers.push_back(6);
for (int num : numbers) {
std::cout << num << std::endl;
}
Haritalar:
cpp
Kodu kopyala
#include <map>
std::map<std::string, int> ages;
ages["Alice"] = 30;
ages["Bob"] = 25;
for (const auto& pair : ages) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
Örnek Proje: Basit Bir Hesap Makinesi
cpp
Kodu kopyala
#include <iostream>
int main() {
char op;
double num1, num2;
std::cout << "Enter operator (+, -, *, /): ";
std::cin >> op;
std::cout << "Enter two operands: ";
std::cin >> num1 >> num2;
switch (op) {
case '+':
std::cout << num1 + num2 << std::endl;
break;
case '-':
std::cout << num1 - num2 << std::endl;
break;
case '*':
std::cout << num1 * num2 << std::endl;
break;
case '/':
if (num2 != 0)
std::cout << num1 / num2 << std::endl;
else
std::cout << "Division by zero!" << std::endl;
break;
default:
std::cout << "Invalid operator" << std::endl;
break;
}
return 0;
}
Bu basit hesap makinesi programı, kullanıcıdan bir operatör ve iki operand alır ve sonucu hesaplar.
C++'ın Kullanım Alanları
- Sistem Programlama: İşletim sistemleri, sürücüler ve düşük seviye yazılımlar.
- Oyun Geliştirme: Unreal Engine, C++ kullanarak oyun geliştirme.
- Uygulama Geliştirme: Masaüstü uygulamaları, örneğin Microsoft Office.
- Gömülü Sistemler: C++ kullanarak mikrodenetleyiciler ve gömülü sistemler için yazılım geliştirme.
- Bilimsel Hesaplamalar: Yüksek performanslı sayısal hesaplamalar ve simülasyonlar.
Sonuç
C++, hem düşük seviye hem de yüksek seviye programlama için güçlü ve esnek bir dildir. Yüksek performans gerektiren uygulamalarda tercih edilir ve geniş bir kullanım yelpazesine sahiptir. Güçlü nesne yönelimli özellikleri, şablonlar ve zengin standart kütüphanesi ile C++, yazılım geliştiricilere esnek ve güçlü araçlar sunar.
gücüne hayran kalacaksınız.