C++ Değişkenler, Veri Tipleri ve auto Kullanımı
C++’ta değişkenler, veri tipleri ve auto kullanımını öğrenin. Bellek yönetimi ve tip çıkarımı örneklerle anlatılıyor.
C++ programlarında verileri saklamak ve işlemek için değişkenler (variables) kullanılır.
Her değişkenin bir veri tipi (data type) vardır. Bu tip, bellekte ne kadar yer ayrılacağını
ve o değişkenin hangi türde değerler tutabileceğini belirler.
Bu makalede C++’taki temel veri tiplerini, değişken tanımlama kurallarını
ve modern C++ ile gelen auto anahtar kelimesinin kullanımını öğreneceğiz.
1. Değişken Nedir?
Değişken, bellekte bir değeri saklayan isimlendirilmiş bir alandır. Program çalışırken bu değeri okuyabilir veya değiştirebilirsiniz.
int yas = 25;
double pi = 3.14159;
char harf = 'A';
bool aktif = true;
Her bir değişkenin türü farklıdır ve bellekte farklı miktarda yer kaplar.
2. Temel Veri Tipleri
C++’ta temel veri tipleri aşağıdaki gibidir:
| Veri Tipi | Açıklama | Örnek |
|---|---|---|
int | Tam sayılar (pozitif veya negatif) | int sayi = 42; |
double | Ondalıklı sayılar | double oran = 0.75; |
char | Tek karakter | char sembol = 'X'; |
bool | Mantıksal değer (true / false) | bool aktif = true; |
string | Karakter dizisi (metin) | string ad = "Ahmet"; |
string tipi C++’ta <string> kütüphanesiyle birlikte gelir:
#include <iostream>
#include <string>
using namespace std;
int main() {
string isim = "Ali";
cout << "Merhaba " << isim << endl;
return 0;
}
3. Değişken Tanımlama Kuralları
- Değişken isimleri harf, rakam ve alt çizgi (
_) içerebilir. - İsimler rakamla başlayamaz.
- Türkçe karakterler kullanılmamalıdır.
- Büyük-küçük harf duyarlıdır:
sayiveSayifarklıdır.
Geçerli ve geçersiz örnekler:
// Geçerli
int ogrenci_sayisi = 30;
double toplamFiyat = 99.50;
// Geçersiz
int 2elma = 5; // sayı ile başlayamaz
int sınıf = 10; // Türkçe karakter olmamalı
int double = 7; // anahtar kelime kullanılamaz
4. Sabit Değerler (const)
Eğer bir değişkenin değerinin program boyunca değişmemesini istiyorsanız, const anahtar kelimesini kullanabilirsiniz.
const double PI = 3.14159;
const int MAX_OGRENCI = 40;
// PI = 3.14; // hata! const değişken değiştirilemez
5. Tür Dönüşümü (Type Casting)
C++’ta bir türdeki değeri başka bir türe dönüştürmek mümkündür.
int x = 10;
double y = 3.0;
double sonuc = x / y; // otomatik dönüştürme (int → double)
cout << sonuc; // 3.33333
Dönüşümü açıkça belirtmek için static_cast kullanılabilir:
int toplam = 5;
int adet = 2;
double ortalama = static_cast<double>(toplam) / adet;
cout << ortalama; // 2.5
6. auto Anahtar Kelimesi (C++11+)
Modern C++ ile gelen auto anahtar kelimesi, derleyicinin değişkenin türünü
atanan değerden otomatik olarak çıkarmasına (type inference) olanak tanır.
auto sayi = 10; // int
auto oran = 3.14; // double
auto metin = "Merhaba"; // const char*
auto aktif = true; // bool
Bu özellik, özellikle karmaşık türlerle (örneğin iterator’lar veya template tipleri) çalışırken kodun okunabilirliğini artırır.
7. decltype Anahtar Kelimesi (C++11+)
decltype, bir ifadenin türünü belirleyerek aynı türde yeni bir değişken tanımlamayı sağlar.
int a = 5;
decltype(a) b = 10; // b de int türündedir
auto ile birlikte kullanıldığında esnek ve tip güvenli kodlar yazmak mümkündür.
8. Örnek Uygulama: Not Ortalaması Hesaplama
Aşağıdaki örnekte farklı veri tipleri, auto kullanımı ve tür dönüşümü bir arada gösterilmiştir.
#include <iostream>
using namespace std;
int main() {
int not1 = 85;
int not2 = 90;
int not3 = 78;
auto ortalama = static_cast<double>(not1 + not2 + not3) / 3;
cout << "Ortalama: " << ortalama << endl;
return 0;
}
9. TL;DR
- Her değişkenin bir türü vardır; tür, bellekteki alanı ve değer aralığını belirler.
constsabitleri değiştirilemez.static_cast<>ile güvenli tür dönüşümü yapılabilir.autoanahtar kelimesi türü otomatik belirler.- Kodlar Visual Studio 2022 veya GCC 11+ ile çalıştırılabilir.