C++ Özel Veri Türleri ve Kullanımı

C++ Özel Veri Türleri ve Kullanımı

Bu makalede, C++ programlama dilinin özel veri tipleri ve kullanımları incelenmiştir Boolean veri türü, sadece true veya false değerleri alabilen bir veri türüdür ve genellikle karar yapısı gerektiren durumlarda kullanılır Char veri türü ise yalnızca bir karakteri tutabilen bir veri türüdür ve ASCII tablosundaki her bir karakter için bir karşılığı vardır C++ ayrıca wchar_t, char16_t ve char32_t gibi veri tipleri ile de farklı karakter kümelerini işlemek için destek sağlar String veri türü ile birleştirme, parçalama ve diğer işlemler gerçekleştirilebilir Enum veri türü ile kullanıcının tanımlayabileceği sabitler belirlenebilir Struct veri türü, birden fazla veri tipinin bir araya getirilerek yeni bir veri tipi oluşturulmasına olanak sağlar Union veri türü, aynı bellek bölgesinin farklı şekillerde kullanılması için kullanılabilir Array ve pointer veri tipleri ise farklı

C++ Özel Veri Türleri ve Kullanımı

C++ programlama dili, yazılım dünyasında sıklıkla kullanılan bir dil olmakla birlikte, özel bazı veri türleri de içerir. Bu özel veri türleri, farklı programlama ihtiyaçlarına yönelik olarak kullanılabilirler. Bu makalede, C++'ın özel veri türleri ve kullanımları üzerinde durulacak.

C++'ın Boolean veri türü, yalnızca iki değere sahiptir: true ve false. Bu veri türü, mantıksal ifadeler ve karar yapıları bulunan kod bloklarında kullanılır. Char veri türü ise bir karakter tutabilen bir veri türüdür ve ASCII tablosunda her karakterin bir karşılığı vardır. Ayrıca, yazılım dünyasındaki farklı yazı karakterleri için wchar_t, char16_t ve char32_t gibi veri türleri de kullanılabilir.

C++ string veri türü, bir dize (string) tutmak için kullanılır. Bu veri türü ile birleştirme, parçalama ve diğer pek çok işlem gerçekleştirilebilir. Ayrıca, C++ enum veri türü ile kullanıcının tanımlayabileceği sabitler belirlenebilir. Struct veri türü ise birden fazla veri tipinin bir araya getirilerek yeni bir veri tipi oluşturulabilir. Union veri türü ise bellek kullanımını azaltmak için aynı bellek bölgesinin farklı şekillerde kullanılması için kullanılabilir. Son olarak, C++ array ve pointer veri türleri, farklı boyutlarda elemanlar içeren verilerin işlenmesi ve bellek adreslerinin kullanımı için kullanılabilirler.


Boolean Veri Türü

C++ programlama dilinde bulunan bool veri türü, yalnızca iki farklı mantıksal değer olan true ve false değerlerini tutabilen bir veri türüdür. Bu veri türü, genellikle if-else yapıları ve döngü operasyonları gibi karar mekanizmalarında kullanılır. Kendi içinde dört farklı ifadeyi karşılayan bool veri türleri kullanılabilir:

Operatör Açıklama
== İki operatör eşit mi?
!= İki operatör eşit değil mi?
> İlk operatör ikincisinden büyük mü?
< İlk operatör ikincisinden küçük mü?

bool veri türü, coğu programlama dili gibi temel bir veri türü olup, C++ programlama dilinde de oldukça yaygın bir şekilde kullanılmaktadır. Bu veri türü, genellikle 'if-else' yapıları veya döngü operasyonları gibi karar yapısı gerektiren durumlarda kullanılabilir. Ayrıca doğru veya yanlış değerlere sahip olması açısından da oldukça önemli bir veri türüdür.


Char Veri Türü

C++ programlama dilinde kullanılan char veri türü, yalnızca tek bir karakterin tutulmasına izin veren bir veri türüdür. Karakter, tek tırnaklar içinde yazılarak tanımlanabilir. C++ aynı zamanda, ASCII tablosundaki her bir karakter için bir karşılık tanımlamıştır.

ASCII tablosu, 7-bit karakter kodlama düzenlemesi olarak tanımlanır ve 128 karakter içerir. Bu karakterler, ABD İletişim Komisyonu (FCC) tarafından belirlenmiştir. Katılımcılar, 0 ila 127 arasındaki numaralarla her karaktere karşılık gelen bir kodlama sistemi geliştirmişlerdir. Bu kodlama sistemi, bilgisayar işlemleri sırasında kullanılan birçok karakter seti için temel oluşturmaktadır.

Bunun yanı sıra, char veri türü üzerinde birçok işlem yapılabilir. Örneğin, karakterlerin bir araya getirilmesiyle bir dize (string) oluşturulabilir. Ayrıca, istenilen karakterin ASCII değeri de bulunarak bir dizi işlem gerçekleştirilebilir. Sonuç olarak, C++ char veri türü oldukça kullanışlıdır ve programlama dünyasında önemli bir yere sahiptir.


Wchar_t Veri Türü

C++ programlama dilinde kullanılan bir diğer özel veri türü de wchar_t veri türüdür. Bu veri türü, Unicode karakterlerinin tutulmasına izin verir. Temelde char veri türünün genişletilmiş halidir. Char veri türü yalnızca 1 byte'lık (8 bit) bir karakteri saklayabilirken, wchar_t veri türü 2 veya 4 byte (16 bit veya 32 bit) kullanarak Unicode karakterlerini saklayabilir.

wchar_t veri türü, özellikle farklı diller tarafından kullanılan karakter kümelerinin işlenmesinde çok kullanışlıdır. Örneğin, İngilizce bir metin yalnızca standart ASCII karakterlerini içerirken, Çince veya Japonca bir metin Unicode karakterleri kullanır. wchar_t veri türü, bu farklı karakter kümelerini işlemek için kullanılır.

Bazı işletim sistemleri, Unicode karakterleri char veri türünde saklamak için özel karakter kodlamaları kullanırlar. Ancak wchar_t veri türü, bu kodlamalara gerek kalmadan Unicode karakterlerini saklayabilir. wchar_t veri türü, özellikle çok dilli uygulamalar geliştirirken ve farklı karakter kümeleriyle çalışırken büyük önem taşır.


Char16_t Veri Türü

C++ programlama dilinde kullanılan özel veri türleri arasında char16_t da yer almaktadır. Bu veri türü, özellikle Java dilleriyle uyumlu çalışmak için tercih edilir. 16-bit Unicode karakterleri tutabilen bu veri türü, birçok programlama dili tarafından desteklenen ve en yaygın kullanılan karakter kodlaması olan Unicode'ı kullanır.

Char16_t veri türü, sadece bir karakteri tutabilen char veri türünden daha fazla karakteri depolayabilir. Bu nedenle, özellikle Unicode karakterlerinin kullanıldığı durumlarda kullanışlıdır. Ayrıca, char16_t veri türü üzerinde birçok işlem yapılabilir. Örneğin, bu veri türü ile karakterleri birleştirme, karşılaştırma ve dönüştürme işlemleri yapılabilir.

Char16_t veri türü kullanırken, dikkat edilmesi gereken bazı noktalar da vardır. Bu veri türü, bazı işletim sistemlerinde desteklenmeyebilir. Ayrıca, char16_t veri türü ile çalışırken, karakter kodlaması konusunda da dikkatli olmak gerekir. Özellikle, farklı kodlamalar arasında dönüştürme işlemi yapmak istediğinizde sorunlar yaşayabilirsiniz.


Char32_t Veri Türü

C++ programlama dili, farklı veri tipleri sunarak farklı veri işleme işlevleri sunar. Bunlardan biri de char32_t veri türüdür. Char32_t, Unicode karakterlerini 32 bitlik bir veri boyutunda tutabilen bir veri türüdür.

Char32_t veri türü, özellikle Java dilleriyle uyumlu çalışmak için tercih edilir. Java programlama dili, Unicode karakterleri tutmak için char veri türünü kullanır. Bununla birlikte, C++ programlama dili, Java diline uyumluluk sağlamak için char32_t veri türünü sunar.

Char32_t veri türü, diğer char veri türleri ile benzer bir şekilde kullanılır ve değişken tanımlama işlemleri yapılabilir. Ayrıca, diğer veri türleriyle birlikte kullanılarak daha karmaşık veri yapıları oluşturulabilir.

Özetle, char32_t veri türü, Unicode karakterleri 32 bitlik bir veri boyutunda tutabilen bir veri türüdür. Java dilleriyle uyumlu çalışmak için kullanılabilir ve C++ programlama dilinde de diğer veri tipleriyle birlikte kullanılabilir.


String Veri Türü

C++ programlama dilinde string veri türü, bir veya daha fazla karakterden oluşan bir dize (string) tutabilen bir veri türüdür. Bu veri türünün tanımlanması için C++ standart kütüphanesinde yer alan string sınıfı kullanılır.

String veri türü üzerinde birçok işlem yapılabilir. Örneğin, iki farklı stringi birleştirmek için + operatorü kullanılır. Ayrıca, parçalama işlemi yapmak için substr() fonksiyonu kullanılabilir. String veri türü üzerinde ayrıca arama, değiştirme ve silme gibi işlemler de yapılabilir.

String veri türünün uzunluğu size() fonksiyonu ile elde edilebilir. Ayrıca, stringin n karakterinden itibaren k karakteri almak için substr(n,k) kullanılabilir.

İşlem Adı Açıklama
+ İki stringi birleştirir.
size() Stringin uzunluğunu hesaplar.
substr(n,k) n karakterinden başlayarak k karakteri alır.

String veri türü üzerinde kullanılabilen fonksiyonlar şunlardır:

  • append()
  • clear()
  • compare()
  • copy()
  • c_str()
  • empty()
  • erase()
  • find()
  • insert()
  • replace()
  • size()
  • substr()

String veri türü ile ilgili bir örnek vermek gerekirse, iki stringin birleştirilmesi işlemi aşağıdaki gibi yapılabilir:

#include #include using namespace std;int main() {  string s1 = "Merhaba ";  string s2 = "Dünya!";    string s3 = s1 + s2;  cout << s3 << endl;  return 0;}

Bu örnekte iki farklı stringin birleştirilmesi işlemi gerçekleştirilmiştir. s1 ve s2 stringleri, '+' operatorü ile birleştirilerek s3 stringine atanmış ve sonucu ekrana yazdırılmıştır.


Enum Veri Türü

C++ programlama dilinde kullanıcıların tanımlayabileceği bir veri türü olan enum, belirli sabitleri tanımlayan bir yapıdadır. Bu sayede kodun okunabilirliği artar ve daha az hata yapılır.

Enum yapısı, özel bir veri türüdür ve kullanıcı tarafından tanımlanabilir. Bir enum tanımlandığında, içinde belirli sayıda sabit olabilir. Bu sabitlere verilecek değerler, genellikle sabitlerin sırasına göre artan sayılardır. Enum veri türü, programlama yapılırken sıklıkla kullanılan bir araçtır.

Sabit Adı Değeri
PAZARTESİ 0
SALI 1
ÇARŞAMBA 2
PERŞEMBE 3
CUMA 4
CUMARTESİ 5
PAZAR 6

Yukarıdaki örnek, günlerin sadece sayılarla değil, kolayca okunabilecek bir şekilde kodlanmasını sağlar. Enum veri türü sayesinde kodlar daha anlaşılır hale gelir ve daha kolay bakım yapılabilir.


Struct Veri Türü

C++ programlama dilinin struct veri türü, farklı özellikleri olan birden fazla veri tipinin bir araya getirilerek yeni bir veri tipi oluşturulmasını sağlar. Bu oluşturulan yeni veri tipi, benzersiz bir isim verilerek tanımlanabilir ve bu isim kullanılarak yapıya erişilebilir.

Struct veri türü, birbirinden farklı veri tiplerini içerebilir. Örneğin, bir struct içinde hem tam sayılar hem de karakter dizileri kullanılabilir. Struct içindeki her bir veri tipi elemanı, belirli bir ad ile isimlendirilir ve her eleman birbiriyle aynı tipte olmak zorunda değildir.

Struct veri türü, içindeki elemanların sırası önemlidir ve elemanlara nokta operatörü kullanılarak erişilebilir. Struct içindeki elemanlar, diğer veri tiplerinde olduğu gibi farklı özelliklere sahip olabilir. Örneğin, bir eleman tam sayı, diğeri karakter dizisi olabilir.

Bir struct örneği oluşturmak için ise struct ismi kullanılmalıdır. Oluşturulan örneğe nokta operatörü kullanılarak elemanlar atanabilir veya değerleri alınabilir. Struct veri türü, özellikle büyük ölçekli programlarda verileri düzenli hale getirerek daha okunaklı ve anlaşılır hale getirir.

Bir örnek oluşturalım:

Yapı Adı Veri Türü
Adı Karakter Dizisi
Soyadı Karakter Dizisi
Yaşı Tam Sayı

Yapı adı "Kisi" olan bir struct, kişinin adı, soyadı ve yaşını içerebilir. Bu elemanlara erişmek için ise struct adı kullanılır. Örneğin:

struct Kisi{    char ad[20];    char soyad[20];    int yas;};int main(){    Kisi benimKisim;    strcpy(benimKisim.ad, "Ahmet");    strcpy(benimKisim.soyad, "Yılmaz");    benimKisim.yas = 25;    return 0;}

Bu şekilde, Kisi struct'ı içindeki elemanlara benimKisim.ad, benimKisim.soyad ve benimKisim.yas ile erişilebilir. Struct veri türü, C++ programcılarına verilerini daha düzenli ve anlaşılabilir hale getirme imkanı sunar.


Union Veri Türü

C++ programlama dilinde union veri türü, aynı bellek bölgesinin birden fazla farklı şekilde kullanılmasını sağlayan veri yapısıdır. Bu veri türü sayesinde bellek kullanımı optimize edilebilir ve gereksiz bellek kullanımı önlenebilir. Bir union değişkeni, farklı veri tiplerine sahip birkaç eleman içerebilir ve bu elemanlar aynı bellek bloğunu paylaşır.

Bu veri türü, özellikle hafıza çalışmasını en aza indirmek gerektiğinde önemlidir. Örneğin, bir mikro denetleyicide birden fazla işlevi olan bir donanım kaynağını temsil etmek için kullanılabilir. Böylece farklı veri türlerindeki elemanlar aynı bellek bloğunu paylaşarak daha az bellek kullanımına yol açar.

Aşağıdaki örnek union yapısını ele alalım:

Union Yapısı Açıklama
union U {  int i;  float f;  char str[20];} var;
Bir union değişkeni, int, float veya char dizisi gibi farklı veri tiplerine sahip elemanlar içerebilir.

Yukarıdaki örnekte, var isimli bir union değişkeni tanımlanmıştır. Bu değişken, int, float veya char dizisi gibi elemanlar içerebilir. Ancak, bu elemanlar aynı bellek bloğunu paylaşır, bu nedenle yalnızca bir elemana erişilebilir.

Union veri türü, C++ programlama dilinde yer alan bir diğer kullanışlı yapılardan biridir ve hafıza yönetimi açısından oldukça önemlidir. Bellek kullanımını azaltarak daha verimli bir programlama deneyimi sunar.


Array Veri Türü

C++ programlama dilinde, belirli bir boyutta elemanlar içeren bir veri tipi olarak karşımıza çıkan array veri türü, birden fazla değeri aynı değişkende tutmaya olanak sağlar. Bu veri türünde elemanlar, bir başlangıç indisine bağlı olarak sıralanır ve elemanlara bu indis numarası ile erişilebilir. Array veri türünde her eleman aynı veri türüne sahip olmalıdır.

C++ array veri türü, programcıların verileri index numarası ile erişmesini sağlar. Bu, programın performansını arttırır ve verilerin daha verimli bir şekilde organize edilmesine olanak sağlar. Array veri türü, verilerin tekrarlanması gerektiği durumlarda oldukça yararlıdır. Örneğin, bir okul sınıfındaki öğrencilerin notları için bir array kullanılması mümkündür.

Array veri türü kullanılarak, farklı veri türlerindeki elemanlar tek bir değişkende toplanabilir. Örnek olarak, bir array içinde hem tam sayı hem de float veri tipinde elemanlar bulunabilir. Bununla birlikte, bu yöntem tercih edilmez, çünkü farklı veri türlerinin bellek kullanımı ve boyutu farklıdır.

Array veri türü ile bileşik verilerin de saklanması mümkündür. Böyle bir durumda her bir eleman, bir veri yapısına sahip olur. Örneğin, bir array içinde birden fazla dosyanın adı saklanabilir ve bu dosyalara erişim bir döngü yardımıyla yapılabilir. Array veri türünün kullanımı, programlama dilinin temel yapı taşlarından biridir.


Pointer Veri Türü

C++ pointer veri türü, diğer bir değişkenin bellekteki adresini tutarak bu adrese erişimi sağlar. Bu sayede, verilerin adresi üzerinden işlemler gerçekleştirilebilir ve dinamik olarak bellek kullanımı sağlanabilir.

Pointerlar, değişkenlerle aynı özelliklere sahiptir. Buna göre, pointer de özelleştirilebilir ve boyutlandırılabilir. Pointerların temel kullanım şekli, bir fonksiyonun içinde, birden fazla değişkenin bellek adresini fonksiyona geri döndürmek için kullanılır.

Operator Anlamı
* Değişkenin bellek adresindeki değeri atama işlemi
& Bir değişkenin adresini almak için kullanılır
++ Pointerın bellekteki alanını bir artırır
-- Pointerın bellekteki alanını bir azaltır

Pointer kullanmanın bir diğer yolu ise bellek dinamik olarak tahsis edilerek veri depolama yöntemidir. Dolayısıyla, programlarınızın daha az bellek kullanarak daha hızlı çalışmasını sağlayabilirsiniz. Bununla birlikte, pointer kullanmanın dezavantajı, doğru kullanılmadığı takdirde programlarda hata yapma ihtimalidir.

  • Pointer veri türü, bellekteki verilere dinamik erişim sağlar.
  • Temel kullanımı, bir fonksiyonun içinde birden fazla değişkenin bellek adresinin fonksiyona geri döndürülmesidir.
  • Pointerların işlemleri diğer değişkenlerle aynı yöntemlerle gerçekleştirilir.
  • Bellek dinamik olarak tahsis edildiğinde, daha az bellek kullanarak daha hızlı çalışmasını sağlar.